共用方式為


教學課程:使用 Transact-SQL 編輯器建立資料庫物件 - Azure Data Studio

重要

Azure Data Studio 將於 2026 年 2 月 28 日停止運行。 建議您使用 Visual Studio Code 的 MSSQL 延伸模組。 如需移轉至 Visual Studio Code 的詳細資訊,請流覽 Azure Data Studio 發生什麼事?

建立和執行查詢、預存程序、腳本等是資料庫專業人員的核心任務。 本教學課程示範 T-SQL 編輯器中建立資料庫物件的主要功能。

在本教學課程中,您將瞭解如何使用 Azure Data Studio 來:

  • 搜尋資料庫物件
  • 編輯表格資料
  • 使用程式碼片段快速撰寫 T-SQL
  • 使用 「快速查看定義」 檢視資料庫物件詳細資料,並移 「前往定義」

Prerequisites

本教學課程需要 SQL Server 或 Azure SQL 資料庫 TutorialDB。 若要建立 TutorialDB 資料庫,請完成下列其中一個快速入門:

快速找到資料庫物件並執行一般工作

Azure Data Studio 提供搜尋小工具來快速尋找資料庫物件。 結果清單提供與所選物件相關的常見任務的關聯式功能表,例如表格的「編輯資料」。

  1. 開啟 [伺服器] 側邊欄 (Ctrl+G),展開 [資料庫],然後選取 [TutorialDB]。

  2. 以滑鼠右鍵按一下 TutorialDB 並從內容功能表中選取 [管理],以開啟 TutorialDB 儀表板

    內容功能表 - 管理

  3. 在搜尋元件中,右鍵點擊 dbo.Customers,然後在儀錶板上選取 編輯資料

    Tip

    對於具有許多物件的資料庫,請使用搜尋小工具快速找到您要尋找的表格、視圖等。

    快速搜尋小工具

  4. 編輯第一列中的 電子郵件 欄,輸入 orlando0@adventure-works.com,然後按 Enter 鍵以儲存變更。

    編輯資料

使用 T-SQL 程式碼片段來建立預存程式

Azure Data Studio 提供許多內建的 T-SQL 程式碼片段,以快速建立陳述式。

  1. Ctrl+N 開啟新的查詢編輯器。

  2. 在編輯器中鍵入 sql ,向下箭頭至 sqlCreateStoredProcedure,然後按 Tab 鍵 (或 Enter) 載入建立預存程序程式碼片段。

    螢幕擷取畫面顯示查詢編輯器,其中在編輯器中鍵入 sql,並呼叫 sqlCreateStoredProcedure 選項。

  3. 建立預存程序程式碼片段有兩個欄位設定用於快速編輯, StoredProcedureNameSchemaName。 選取 StoredProcedureName,按一下滑鼠右鍵,然後選取 變更所有項目。 現在鍵入 getCustomer ,所有 StoredProcedureName 項目都會變更為 getCustomer

    顯示查詢編輯器的螢幕擷取畫面,並標示 [變更所有出現] 選項。

  4. SchemaName 的所有出現項目變更為 dbo

  5. 程式碼片段包含需要更新的預留位置參數和內文文字。 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
    
  6. 若要建立預存程式並讓它進行測試執行,請按 F5

現在已建立預存程序,而 [結果] 窗格會以 JSON 顯示傳回的客戶。 若要查看格式化的 JSON,請按一下傳回的記錄。

使用「快速查看定義」

Azure Data Studio 可讓您使用速覽定義功能來檢視物件定義。 本節會建立第二個預存程序,並使用速覽定義來查看資料表中的資料行,以快速建立預存程序的主體。

  1. Ctrl+N 開啟新的編輯器。

  2. 在編輯器中鍵入 sql ,向下箭頭至 sqlCreateStoredProcedure,然後按 Tab 鍵 (或 Enter) 載入建立預存程序程式碼片段。

  3. 針對 StoredProcedureName 鍵入 setCustomer,針對 SchemaName 鍵入 dbo

  4. 將 @param 預留位置取代為以下參數定義:

    @json_val nvarchar(max)
    
  5. 將預存程序的主體取代為下列程式碼:

    INSERT INTO dbo.Customers
    
  6. 在您剛才新增的 INSERT 行中,右鍵點擊 dbo.Customers 然後選擇 Peek Definition

    檢視定義

  7. 表格定義隨即顯示,以便您可以快速查看表格中的欄。 請參閱資料行清單,以輕鬆完成預存程序的陳述式。 完成建立您先前新增的 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)
     )
    
  8. 刪除 (或註解掉) 查詢底部的 EXECUTE 命令。

  9. 整個陳述式應該如下所示:

    -- 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

使用將查詢結果儲存為 JSON 來測試 setCustomer 預存程序

上一節中建立的 setCustomer 預存程式需要將JSON資料傳遞至 @json_val 引數。 本節說明如何取得格式正確的 JSON 位元,以傳遞至參數,以便測試預存程序。

  1. SERVERS 側邊欄中,以滑鼠右鍵按一下 dbo.Customers 表格,再選擇 SELECT TOP 1000 Rows

  2. 選取結果檢視中的第一列,確定已選取整列 (按一下最左欄中的數字 1),然後選取 另存為 JSON。

  3. 將資料夾變更為您會記住的位置,以便稍後刪除檔案(例如桌面),然後按一下「儲存」。 JSON 格式的檔案隨即開啟。

    另存為 JSON

  4. 在編輯器中選取 JSON 資料並複製它。

  5. Ctrl+N 開啟新的編輯器。

  6. 上述步驟顯示如何輕鬆取得格式正確的資料,以完成對 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
    
  7. F5 執行指令碼。 指令碼會插入新客戶,並以 JSON 格式傳回新客戶的資訊。 按一下結果以開啟格式化的視圖。

    測試結果

後續步驟

在本教程中,您將學到如何:

  • 快速搜尋結構描述物件
  • 編輯表格資料
  • 使用程式碼片段撰寫 T-SQL 腳本
  • 瞭解如何使用「查看定義」和「轉到定義」來查詢資料庫物件的詳細資訊

若要瞭解如何啟用 五個最慢的查詢 小工具,請完成下一個教學課程: