Руководство. Создание объектов базы данных в Azure Data Studio с помощью редактора Transact-SQL
Создание и выполнение запросов, хранимых процедур, скриптов и т. д. — основные задачи специалистов по базам данных. В этом руководстве демонстрируются основные функции редактора T-SQL для создания объектов базы данных.
В этом руководстве вы узнаете, как с помощью Azure Data Studio выполнять следующие задачи.
- поиск объектов базы данных;
- изменение данных таблицы;
- использование фрагментов кода для быстрого написания инструкций T-SQL;
- просмотр сведений об объектах базы данных с помощью функций Показать определение и Перейти к определению.
Необходимые компоненты
Для работы с этим руководством требуется SQL Server или база данных SQL Azure TutorialDB. Чтобы создать базу данных TutorialDB, выполните инструкции, приведенные в одном из следующих кратких руководств:
- Подключение и отправка запроса к SQL Server с помощью Azure Data Studio
- Подключение и обращение к базе данных SQL Azure с помощью Azure Data Studio
Быстрое нахождение объекта базы данных и выполнение стандартной задачи
В Azure Data Studio имеется мини-приложение поиска, позволяющее быстро находить объекты базы данных. Контекстное меню в списке результатов содержит стандартные задачи, относящиеся к выбранному объекту, например Изменить данные для таблицы.
Откройте боковую панель "Серверы" (CTRL+G), разверните узел Базы данных и выберите базу данных TutorialDB.
Откройте панель мониторинга базы данных TutorialDB, щелкнув базу данных TutorialDB правой кнопкой мыши и выбрав в контекстном меню пункт Управление.
На панели мониторинга щелкните правой кнопкой мыши таблицу dbo.Customers (в мини-приложении поиска) и выберите пункт Изменить данные.
Совет
Если база данных содержит множество объектов, мини-приложение поиска позволяет быстро находить искомые таблицы, представления и т. д.
Измените значение в первой строке столбца Email (Адрес электронной почты) на orlando0@adventure-works.com и нажмите клавишу ВВОД, чтобы сохранить изменение.
Создание хранимых процедур с помощью фрагментов кода T-SQL
В Azure Data Studio есть множество встроенных фрагментов кода T-SQL для быстрого создания инструкций.
Откройте новое окно редактора запросов, нажав клавиши CTRL+N.
Введите в редакторе строку sql, с помощью клавиши со стрелкой вниз перейдите к пункту sqlCreateStoredProcedure и нажмите клавишу TAB (или ВВОД), чтобы загрузить фрагмент кода для создания хранимой процедуры.
Во фрагменте кода для создания хранимой процедуры есть два поля, которые можно быстро изменить: StoredProcedureName и SchemaName. Выберите поле StoredProcedureName, щелкните его правой кнопкой мыши и выберите пункт Изменить все вхождения. Теперь введите getCustomer, и все записи StoredProcedureName изменятся на getCustomer.
Измените все вхождения SchemaName на dbo.
Фрагмент кода содержит параметры-заполнители и текст, которые нужно изменить. Инструкция EXECUTE также содержит текст-заполнитель, так как количество параметров процедуры изначально неизвестно. В целях этого руководства измените фрагмент кода, чтобы он выглядел так:
-- Create a new stored procedure called 'getCustomer' in schema 'dbo' -- Drop the stored procedure if it already exists IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_SCHEMA = N'dbo' AND SPECIFIC_NAME = N'getCustomer' ) DROP PROCEDURE dbo.getCustomer GO -- Create the stored procedure in the specified schema CREATE PROCEDURE dbo.getCustomer @ID int -- add more stored procedure parameters here AS -- body of the stored procedure SELECT c.CustomerId, c.Name, c.Location, c.Email FROM dbo.Customers c WHERE c.CustomerId = @ID FOR JSON PATH GO -- example to execute the stored procedure we just created EXECUTE dbo.getCustomer 1 GO
Чтобы создать хранимую процедуру и выполнить ее тестовый запуск, нажмите клавишу F5.
Хранимая процедура будет создана, и в области Результаты отобразятся сведения о клиенте в формате JSON. Чтобы увидеть отформатированные данные JSON, щелкните возвращенную запись.
Использование функции "Показать определение"
Azure Data Studio предоставляет возможность просмотра определения объекта с помощью функции "Показать определение". В этом разделе создается еще одна хранимая процедура, а затем с помощью функции "Показать определение" определяются имеющиеся в таблице столбцы для быстрого создания тела этой процедуры.
Откройте новое окно редактора, нажав клавиши CTRL+N.
Введите в редакторе строку sql, с помощью клавиши со стрелкой вниз перейдите к пункту sqlCreateStoredProcedure и нажмите клавишу TAB (или ВВОД), чтобы загрузить фрагмент кода для создания хранимой процедуры.
Введите значение setCustomer для поля StoredProcedureName и значение dbo для поля SchemaName.
Замените заполнители @param следующим определением:
@json_val nvarchar(max)
Замените тело хранимой процедуры следующим кодом:
INSERT INTO dbo.Customers
В добавленной строке INSERT щелкните правой кнопкой мыши элемент dbo.Customers и выберите пункт Показать определение.
Появится определение таблицы, из которого можно быстро понять, какие столбцы имеются в таблице. Используйте список столбцов, чтобы легко заполнить инструкции для хранимой процедуры. Завершите создание ранее добавленной инструкции INSERT, чтобы полностью подготовить тело хранимой процедуры, а затем закройте окно "Показать определение".
INSERT INTO dbo.Customers (CustomerId, Name, Location, Email) SELECT CustomerId, Name, Location, Email FROM OPENJSON (@json_val) WITH( CustomerId int, Name nvarchar(50), Location nvarchar(50), Email nvarchar(50) )
Удалите (или закомментируйте) команду EXECUTE в конце запроса.
Инструкция в итоге должна выглядеть так:
-- Create a new stored procedure called 'setCustomer' in schema 'dbo' -- Drop the stored procedure if it already exists IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_SCHEMA = N'dbo' AND SPECIFIC_NAME = N'setCustomer' ) DROP PROCEDURE dbo.setCustomer GO -- Create the stored procedure in the specified schema CREATE PROCEDURE dbo.setCustomer @json_val nvarchar(max) AS -- body of the stored procedure INSERT INTO dbo.Customers (CustomerId, Name, Location, Email) SELECT CustomerId, Name, Location, Email FROM OPENJSON (@json_val) WITH( CustomerId int, Name nvarchar(50), Location nvarchar(50), Email nvarchar(50) ) GO
Чтобы создать хранимую процедуру setCustomer, нажмите клавишу F5.
Сохранение результатов запроса в формате JSON для тестирования хранимой процедуры setCustomer
Хранимая процедура setCustomer, созданная в предыдущем разделе, требует передачи данных JSON в параметр @json_val. В этом разделе показано, как получить правильно отформатированные данные JSON для передачи в параметре, чтобы можно было протестировать хранимую процедуру.
На боковой панели Серверы щелкните правой кнопкой мыши таблицу dbo.Customers и выберите пункт Выбрать первые 1000 строк.
Выберите первую строку в представлении результатов (чтобы выделить всю строку, щелкните номер 1 в самом левом столбце), а затем выберите команду Сохранить в формате JSON.
Выберите папку, которую легко запомнить, чтобы можно было удалить файл позднее (например, рабочий стол), и нажмите кнопку Сохранить. Откроется файл в формате JSON.
Выделите в редакторе данные JSON и скопируйте их.
Откройте новое окно редактора, нажав клавиши CTRL+N.
В предыдущих шагах было показано, как можно легко получить правильно отформатированные данные для выполнения вызова процедуры setCustomer. В приведенном ниже коде аналогичный формат JSON применяется к новым сведениям о клиенте для тестирования процедуры setCustomer. Инструкция включает в себя синтаксические конструкции для объявления параметра и выполнения новых процедур получения и задания. Вы можете скопировать данные из предыдущего раздела, вставить их, а затем изменить в соответствии с приведенным ниже примером либо просто вставить приведенную ниже инструкцию в редактор запросов.
-- example to execute the stored procedure we just created declare @json nvarchar(max) = N'[ { "CustomerId": 5, "Name": "Lucy", "Location": "Canada", "Email": "lucy0@adventure-works.com" } ]' EXECUTE dbo.setCustomer @json_val = @json GO EXECUTE dbo.getCustomer @ID = 5
Чтобы выполнить скрипт, нажмите клавишу F5. Этот скрипт вставляет данные нового клиента, а затем возвращает их в формате JSON. Щелкните результат, чтобы открыть отформатированное представление.
Следующие шаги
Из этого руководства вы узнали, как:
- быстрый поиск объектов схемы;
- изменение данных таблицы;
- написание скрипта T-SQL с помощью фрагментов кода;
- получение сведений об объектах базы данных с помощью функций "Показать определение" и "Перейти к определению".
Чтобы узнать, как включить мини-приложение Пять самых медленных запросов, выполните следующее руководство: