Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

У цьому посібнику ми обговоримо тимчасові таблиці та представлення SQL . Ці два можуть бути зручними, якщо ви хочете використовувати фізичну таблицю для тестування та налагодження. Ми також поговоримо про 2 типи тимчасових таблиць та їх відмінності.

За допомогою тимчасових таблиць і представлень SQL ви можете вільно керувати набором даних за допомогою кількох команд, не запитуючи їх повторно, оскільки вони вже зберігаються в окремій таблиці.

Незважаючи на те, що ці два працюють однаково, ви повинні взяти до уваги їхні відмінності. Це допоможе вам вибрати найкращий метод, який ви можете використати в конкретній ситуації.

Виходячи з самої назви, тимчасові таблиці використовуються для тимчасового зберігання даних у сеансі.

Ми також можемо виконувати над ними кілька операцій, як і над фізичною таблицею . Уявіть, що у вас є дуже довга команда SQL. Ви можете просто помістити це в тимчасову таблицю та почати налагодження чи усунення помилок, не впливаючи на вихідний запит. Крім того, тимчасові таблиці є потужними і часто використовуються в SQL.

Зміст

Два типи тимчасових таблиць у SQL

У SQL є 2 типи тимчасових таблиць. Це локальні та глобальні тимчасові таблиці.

Локальні тимчасові таблиці існують лише в сеансі, де їх було створено. Ми не зможемо отримати доступ до цієї таблиці під час інших сеансів. Через це локальні тимчасові таблиці більше не існуватимуть після закриття сеансу, де їх було створено.

Навпаки, глобальні тимчасові таблиці доступні в усіх сеансах після створення. Але після того, як усі сеанси буде закрито, він більше не існуватиме, і він більше не буде доступним.

Зверніть увагу, що ви можете просто визначити, який тип тимчасової таблиці використовується в запиті, перевіривши символ « # » для локальної та « ## » для глобальної тимчасової таблиці.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Локальні тимчасові таблиці зазвичай починаються з « # » у своїй назві таблиці.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

З іншого боку, глобальні тимчасові таблиці починаються з « ## » перед назвою таблиці.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Крім того, якщо ви хочете швидко створити будь-яку таблицю, ви можете виконати команду: SELECT * INTO #customers FROM dbo.courses як приклад.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Ця команда створить нову тимчасову таблицю під назвою #customers з усіма даними з таблиці dbo.courses .

Перегляди в Microsoft SQL Server Management Studio

Давайте тепер обговоримо представлення SQL за допомогою цієї прикладної команди.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Скажімо, наприклад, ми не хочемо багаторазово виконувати таку команду. Ви можете просто розмістити його в поданні, виконавши наведену нижче команду.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Створення подання подібне до створення таблиць. Використовуючи це, ми зможемо виконати запит, який ми ввели, вибравши назву представлення, яке ми створили. У цьому випадку це CustomersbyYear_v .

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Важливо зазначити, що подання відрізняються від тимчасових таблиць. Це тому, що подання відображаються у вашій базі даних так само, як фізична таблиця, якщо ви її не видалите. Крім того, представлення не зберігають жодних даних чи значень.

Замість цього він просто відтворить команду, яку ви ввели одразу після команди CREATE VIEW . Ви також можете виконувати будь-яку операцію з таблицею в представленнях.

Найважливіше те, що ми можемо легко ідентифікувати перегляди, як вони зазвичай представлені, поставивши «v» на початку або в кінці назви перегляду.

Створення тимчасових таблиць і представлень у SQL

Для цього прикладу я маю цей запит, який об’єднає та покаже записи з Sales.SalesOrderHeader і Sales.Customer C після його виконання.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Створення локальних тимчасових таблиць у SQL

Уявіть, що ви написали запит довжиною 200 рядків, і вам потрібно налагодити його та виконати над ним певні операції. Ви не можете безпосередньо, оскільки це може спричинити більше помилок під час процесу.

У цьому випадку, використовуючи попередній приклад, ми створимо локальну тимчасову таблицю, додавши команду “ INTO #test_local ” перед командою FROM.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Після виконання цієї команди #test_local тепер міститиме комбіновані записи Sales.SalesOrderHeader і Sales.Customer C. Як результат, ось що ви побачите, коли виберете #test_local таблицю.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Після цього тепер ми можемо виконувати будь-які операції з #test_local таблицею. Ми виберемо всі записи з #test_local , а потім змінимо порядок записів за CustomerID за допомогою наступної команди. 

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

У результаті записи тепер відсортовано за ідентифікатором клієнта. Але оскільки ми використовували локальну тимчасову таблицю, ми не можемо отримати доступ або використовувати #test_local таблицю в іншому сеансі. Наступний приклад показує, що станеться, якщо ми спробуємо отримати доступ до #test_local у SQLQuery2.sql .

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Базуючись на попередньому прикладі, після вибору #test_local просто відобразилося повідомлення про помилку. Це пояснюється тим, що таблиця #test_local існує лише в сеансі, де її було створено, тобто SQLQuery1.sql .

Створення глобальних тимчасових таблиць у SQL

Далі ми використаємо той самий запит, що й у #test_local . Але цього разу ми використаємо глобальний .

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Тепер, якщо ми виберемо ##test_global і впорядкуємо записи за CustomerID, він покаже той самий результат, що й у #test_local , оскільки ми використали той самий запит. 

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Після цього ми спробуємо отримати доступ до таблиці ##test_global в іншому сеансі, вибравши її. Це працює без проблем, оскільки ми використовуємо глобальну тимчасову таблицю.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

На цьому етапі ми підкреслюємо різницю між локальними та глобальними тимчасовими таблицями.

Пам'ятайте, що локальні тимчасові таблиці доступні лише в сеансі, де їх було створено . Коли ви закриєте цей сеанс, він більше не існуватиме.

З іншого боку, глобальні тимчасові таблиці видимі для всіх сеансів , якщо ви не закриєте всі активні сеанси або саму програму.

Створення представлень у SQL

Зараз ми збираємося створити вид. У цьому прикладі у нас є такий запит.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Ми можемо розпочати створення представлення, додавши до цього запиту команду CREATE VIEW .

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Після виконання команди буде створено представлення в базі даних, над якою ми працюємо. У цьому випадку це AdventureWorks2012 .

Ми також маємо побачити dbo.CustomerView_v у папці Views після її оновлення. Щоб оновити папку «Перегляди», клацніть її правою кнопкою миші та виберіть «Оновити» .

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Натисніть піктограму + праворуч від папки Views, і dbo.CustomerView_v стане видимим.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Ви можете відкрити це подання, клацнувши правою кнопкою миші на dbo.CustomerView_v , а потім виберіть «Вибрати 1000 найкращих рядків» із параметрів. Це відобразить 1000 записів у цьому поданні .

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Після цього тепер ми можемо використовувати dbo.CustomerView_v і виконувати над ним будь-які операції, як із таблицею. Наприклад, ми хочемо вибрати записи з SalesOrderID більше 50000 у dbo.CustomerView_v . У цьому випадку ми скористаємося такою командою.

Тимчасові таблиці та представлення SQL для користувача LuckyTemplates

Тепер ми можемо виконати операцію над створеним представленням.

Висновок

Підводячи підсумок, ми дізналися про 2 типи тимчасових таблиць разом із їхніми відмінностями та чому нам потрібно їх використовувати. Крім того, ми обговорювали, що тимчасові таблиці служать способом виправлення помилок у ваших запитах без пошкодження фактичного запиту.

Майте на увазі, що тимчасові таблиці видимі лише для сеансів, у яких вони були створені. Отже, він більше не існуватиме, коли ми закриємо активні сеанси або саму програму.

Ми також дізналися, що представлення не зберігають дані чи записи. Він показує лише результати на основі запиту, який ви хочете відобразити. Ці перегляди зберігаються в нашій базі даних після їх створення. 

Вивчивши ці два, ви тепер зможете швидко виконувати довгі команди та легко змінювати великі фрагменти набору даних .

Все найкраще,

Хафіз


Як використовувати запит природною мовою (Q&A) у LuckyTemplates

Як використовувати запит природною мовою (Q&A) у LuckyTemplates

У цьому підручнику я покажу вам, що можна робити за допомогою запиту природної мови або функції запитань і відповідей на робочому столі в онлайн-службі LuckyTemplates.

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Динамічно сортуйте візуалізації у звітах LuckyTemplates

Дізнайтеся, як динамічно сортувати візуалізації у звітах LuckyTemplates. Отримуйте якісну статистику, творчо підходячи до представлення даних.

Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

Дізнайтеся, як створити поле пошуку PowerApps з нуля та налаштувати його відповідно до загальної теми вашої програми.

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

Дізнайтеся, як історія версій у SharePoint може допомогти вам побачити еволюцію певних даних і скільки змін вони зазнали.

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Ось інструмент для створення звітів і візуальних матеріалів, засіб вибору шістнадцяткових кодів кольорів, за допомогою якого можна легко отримати кольори для звітів LuckyTemplates.

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Ви можете легко відобразити діапазон дат як роздільник у своєму звіті за допомогою таблиці періодів. Використовуйте M-код, щоб створити динамічний роздільник дат у LuckyTemplates.

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

Цей блог містить візуалізацію Shape Map для просторового аналізу в LuckyTemplates. Я покажу вам, як ви можете ефективно використовувати цю візуалізацію з її функціями та елементами.