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

這很重要

Azure Data Studio 於 2026 年 2 月 28 日正式退休。 您應該移轉至 Visual Studio Code。 欲了解更多資訊,請參閱 「Azure Data Studio 發生了什麼事」。

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

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

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

先決條件

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

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

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

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

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

    內容功能表 - 管理

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

    小提示

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

    快速搜尋小工具

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

    編輯資料

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

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

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

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

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

  3. 建立預存程序程式碼片段有兩個欄位設定用於快速編輯, StoredProcedureName 和 SchemaName。 選取 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 腳本
  • 瞭解如何使用「查看定義」和「轉到定義」來查詢資料庫物件的詳細資訊

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