Тимчасові таблиці та представлення 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 типи тимчасових таблиць разом із їхніми відмінностями та чому нам потрібно їх використовувати. Крім того, ми обговорювали, що тимчасові таблиці служать способом виправлення помилок у ваших запитах без пошкодження фактичного запиту.

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

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

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

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

Хафіз


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

Створення таблиці дат у LuckyTemplates

Створення таблиці дат у LuckyTemplates

Дізнайтеся, чому важлива спеціальна таблиця дат у LuckyTemplates, і вивчіть найшвидший і найефективніший спосіб це зробити.

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

У цьому короткому посібнику розповідається про функцію мобільних звітів LuckyTemplates. Я збираюся показати вам, як ви можете ефективно створювати звіти для мобільних пристроїв.

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

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

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

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

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

У цьому блозі ми продемонструємо, як шарувати параметри поля з малими кратними, щоб створити неймовірно корисну інформацію та візуальні ефекти.