Руководство. Создание объектов базы данных с помощью редактора Transact-SQL — Azure Data StudioAzure Data StudioTutorial: Use the Transact-SQL editor to create database objects - Azure Data StudioAzure Data Studio

Создание и выполнение запросов, хранимых процедур, скриптов и т. д. — основные задачи специалистов по базам данных.Creating and running queries, stored procedures, scripts, etc. are the core tasks of database professionals. В этом руководстве демонстрируются основные функции редактора T-SQL для создания объектов базы данных.This tutorial demonstrates the key features in the T-SQL editor to create database objects.

В этом руководстве вы узнаете, как с помощью Azure Data StudioAzure Data Studio выполнять следующие задачи:In this tutorial, you learn how to use Azure Data StudioAzure Data Studio to:

  • поиск объектов базы данных;Search database objects
  • изменение данных таблицы;Edit table data
  • использование фрагментов кода для быстрого написания инструкций T-SQL;Use snippets to quickly write T-SQL
  • просмотр сведений об объектах базы данных с помощью функций Показать определение и Перейти к определению.View database object details using Peek Definition and Go to Definition

предварительные требованияPrerequisites

Для работы с этим руководством требуется SQL Server или база данных SQL Azure TutorialDB.This tutorial requires the SQL Server or Azure SQL Database TutorialDB. Чтобы создать базу данных TutorialDB, выполните инструкции, приведенные в одном из следующих кратких руководств:To create the TutorialDB database, complete one of the following quickstarts:

Быстрое нахождение объекта базы данных и выполнение стандартной задачиQuickly locate a database object and perform a common task

В Azure Data StudioAzure Data Studio имеется мини-приложение поиска, позволяющее быстро находить объекты базы данных.Azure Data StudioAzure Data Studio provides a search widget to quickly find database objects. Контекстное меню в списке результатов содержит стандартные задачи, относящиеся к выбранному объекту, например Изменить данные для таблицы.The results list provides a context menu for common tasks relevant to the selected object, such as Edit Data for a table.

  1. Откройте боковую панель "Серверы" (CTRL+G), разверните узел Базы данных и выберите базу данных TutorialDB.Open the SERVERS sidebar (Ctrl+G), expand Databases, and select TutorialDB.

  2. Откройте панель мониторинга базы данных TutorialDB, щелкнув базу данных TutorialDB правой кнопкой мыши и выбрав в контекстном меню пункт Управление.Open the TutorialDB Dashboard by right-clicking TutorialDB and selecting Manage from the context menu:

    контекстное меню — пункт "Управление"

  3. На панели мониторинга щелкните правой кнопкой мыши таблицу dbo.Customers (в мини-приложении поиска) и выберите пункт Изменить данные.On the dashboard, right-click dbo.Customers (in the search widget) and select Edit Data.

    Совет

    Если база данных содержит множество объектов, мини-приложение поиска позволяет быстро находить искомые таблицы, представления и т. д.For databases with many objects, use the search widget to quickly locate the table, view, etc. that you're looking for.

    мини-приложение быстрого поиска

  4. Измените значение в первой строке столбца Email (Адрес электронной почты), введите orlando0@adventure-works.com и нажмите клавишу ВВОД, чтобы сохранить изменение.Edit the Email column in the first row, type orlando0@adventure-works.com, and press Enter to save the change.

    изменение данных

Создание хранимых процедур с помощью фрагментов кода T-SQLUse T-SQL snippets to create stored procedures

В Azure Data StudioAzure Data Studio есть множество встроенных фрагментов кода T-SQL для быстрого создания инструкций.Azure Data StudioAzure Data Studio provides many built-in T-SQL snippets for quickly creating statements.

  1. Откройте новое окно редактора запросов, нажав клавиши CTRL+N.Open a new query editor by pressing Ctrl+N.

  2. Введите в редакторе строку sql, с помощью клавиши со стрелкой вниз перейдите к пункту sqlCreateStoredProcedure и нажмите клавишу TAB (или ВВОД), чтобы загрузить фрагмент кода для создания хранимой процедуры.Type sql in the editor, arrow down to sqlCreateStoredProcedure, and press the Tab key (or Enter) to load the create stored procedure snippet.

    список фрагментов кода

  3. Во фрагменте кода для создания хранимой процедуры есть два поля, которые можно быстро изменить: StoredProcedureName и SchemaName.The create stored procedure snippet has two fields set up for quick edit, StoredProcedureName and SchemaName. Выберите поле StoredProcedureName, щелкните его правой кнопкой мыши и выберите пункт Изменить все вхождения.Select StoredProcedureName, right-click, and select Change All Occurrences. Теперь введите getCustomer, и все записи StoredProcedureName изменятся на getCustomer.Now type getCustomer and all StoredProcedureName entries change to getCustomer.

    фрагмент кода

  4. Измените все вхождения SchemaName на dbo.Change all occurrences of SchemaName to dbo.

  5. Фрагмент кода содержит параметры-заполнители и текст, которые нужно изменить.The snippet contains placeholder parameters and body text that needs updating. Инструкция EXECUTE также содержит текст-заполнитель, так как количество параметров процедуры изначально неизвестно.The EXECUTE statement also contains placeholder text because it doesn't know how many parameters the procedure will have. В целях этого руководства измените фрагмент кода, чтобы он выглядел так:For this tutorial update the snippet so it looks like the following code:

    -- 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
    
  6. Чтобы создать хранимую процедуру и выполнить ее тестовый запуск, нажмите клавишу F5.To create the stored procedure and give it a test run, press F5.

Хранимая процедура будет создана, и в области Результаты отобразятся сведения о клиенте в формате JSON.The stored procedure is now created, and the RESULTS pane displays the returned customer in JSON. Чтобы увидеть отформатированные данные JSON, щелкните возвращенную запись.To see formatted JSON, click the returned record.

Использование функции "Показать определение"Use Peek Definition

В Azure Data StudioAzure Data Studio есть возможность просмотреть определение объекта с помощью функции "Показать определение".Azure Data StudioAzure Data Studio provides the ability to view an objects definition using the peek definition feature. В этом разделе создается еще одна хранимая процедура, а затем с помощью функции "Показать определение" определяются имеющиеся в таблице столбцы для быстрого создания тела этой процедуры.This section creates a second stored procedure and uses peek definition to see what columns are in a table to quickly create the body of the stored procedure.

  1. Откройте новое окно редактора, нажав клавиши CTRL+N.Open a new editor by pressing Ctrl+N.

  2. Введите в редакторе строку sql, с помощью клавиши со стрелкой вниз перейдите к пункту sqlCreateStoredProcedure и нажмите клавишу TAB (или ВВОД), чтобы загрузить фрагмент кода для создания хранимой процедуры.Type sql in the editor, arrow down to sqlCreateStoredProcedure, and press the Tab key (or Enter) to load the create stored procedure snippet.

  3. Введите значение setCustomer для поля StoredProcedureName и значение dbo для поля SchemaName.Type in setCustomer for StoredProcedureName and dbo for SchemaName

  4. Замените заполнители @param следующим определением:Replace the @param placeholders with the following parameter definition:

    @json_val nvarchar(max)
    
  5. Замените тело хранимой процедуры следующим кодом:Replace the body of the stored procedure with the following code:

    INSERT INTO dbo.Customers
    
  6. В добавленной строке INSERT щелкните правой кнопкой мыши элемент dbo.Customers и выберите пункт Показать определение.In the INSERT line you just added, right-click dbo.Customers and select Peek Definition.

    показать определение

  7. Появится определение таблицы, из которого можно быстро понять, какие столбцы имеются в таблице.The table definition appears so you can quickly see what columns are in the table. Используйте список столбцов, чтобы легко заполнить инструкции для хранимой процедуры.Refer to the column list to easily complete the statements for your stored procedure. Завершите создание ранее добавленной инструкции INSERT, чтобы полностью подготовить тело хранимой процедуры, а затем закройте окно "Показать определение".Finish creating the INSERT statement you added previously to complete the body of the stored procedure, and close the peek definition window:

    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)
     )
    
  8. Удалите (или закомментируйте) команду EXECUTE в конце запроса.Delete (or comment out) the EXECUTE command at the bottom of the query.

  9. Инструкция в итоге должна выглядеть так:The entire statement should look like the following code:

    -- 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
    
  10. Чтобы создать хранимую процедуру setCustomer, нажмите клавишу F5.To create the setCustomer stored procedure, press F5.

Сохранение результатов запроса в формате JSON для тестирования хранимой процедуры setCustomerUse save query results as JSON to test the setCustomer stored procedure

Хранимая процедура setCustomer, созданная в предыдущем разделе, требует передачи данных JSON в параметр @json_val.The setCustomer stored procedure created in the previous section requires JSON data be passed into the @json_val parameter. В этом разделе показано, как получить правильно отформатированные данные JSON для передачи в параметре, чтобы можно было протестировать хранимую процедуру.This section shows how to get a properly formatted bit of JSON to pass into the parameter so you can test the stored procedure.

  1. На боковой панели Серверы щелкните правой кнопкой мыши таблицу dbo.Customers и выберите пункт Выбрать первые 1000 строк.In the SERVERS sidebar right-click the dbo.Customers table and click SELECT TOP 1000 Rows.

  2. Выберите первую строку в представлении результатов (чтобы выделить всю строку, щелкните номер 1 в самом левом столбце), а затем выберите команду Сохранить в формате JSON.Select the first row in the results view, make sure the entire row is selected (click the number 1 in the left-most column), and select Save as JSON.

  3. Выберите папку, которую легко запомнить, чтобы можно было удалить файл позднее (например, рабочий стол), и нажмите кнопку Сохранить.Change the folder to a location you'll remember so you can delete the file later (for example desktop) and click Save. Откроется файл в формате JSON.The JSON formatted file opens.

    сохранение в формате JSON

  4. Выделите в редакторе данные JSON и скопируйте их.Select the JSON data in the editor and copy it.

  5. Откройте новое окно редактора, нажав клавиши CTRL+N.Open a new editor by pressing Ctrl+N.

  6. В предыдущих шагах было показано, как можно легко получить правильно отформатированные данные для выполнения вызова процедуры setCustomer.The previous steps show how you can easily get the properly formatted data to complete the call to the setCustomer procedure. В приведенном ниже коде аналогичный формат JSON применяется к новым сведениям о клиенте для тестирования процедуры setCustomer.You can see the following code uses the same JSON format with new customer details so we can test the setCustomer procedure. Инструкция включает в себя синтаксические конструкции для объявления параметра и выполнения новых процедур получения и задания.The statement includes syntax to declare the parameter and run the new get and set procedures. Вы можете скопировать данные из предыдущего раздела, вставить их, а затем изменить в соответствии с приведенным ниже примером либо просто вставить приведенную ниже инструкцию в редактор запросов.You can paste the copied data from the previous section and edit it so it is the same as the following example, or simply paste the following statement into the query editor.

    -- 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
    
  7. Чтобы выполнить скрипт, нажмите клавишу F5.Execute the script by pressing F5. Этот скрипт вставляет данные нового клиента, а затем возвращает их в формате JSON.The script inserts a new customer and returns the new customer's information in JSON format. Щелкните результат, чтобы открыть отформатированное представление.Click the result to open a formatted view.

    результат теста

Следующие шагиNext steps

В этом руководстве вы узнали, как выполнять следующие задачи:In this tutorial, you learned how to:

  • быстрый поиск объектов схемы;Quick search schema objects
  • изменение данных таблицы;Edit table data
  • написание скрипта T-SQL с помощью фрагментов кода;Writing T-SQL script using snippets
  • получение сведений об объектах базы данных с помощью функций "Показать определение" и "Перейти к определению".Learn about database object details using Peek Definition and Go to Definition

Чтобы узнать, как включить мини-приложение Пять самых медленных запросов, выполните следующее руководство:To learn how to enable the five slowest queries widget, complete the next tutorial: