Sdílet prostřednictvím


Kurz: Vytvoření databázových objektů pomocí editoru Transact-SQL – Azure Data Studio

Vytváření a spouštění dotazů, uložených procedur, skriptů atd. jsou základními úlohami odborníků na databáze. Tento kurz ukazuje klíčové funkce v editoru T-SQL pro vytváření databázových objektů.

V tomto kurzu se naučíte používat Azure Data Studio k:

  • Vyhledávání databázových objektů
  • Úprava dat tabulky
  • Rychlé psaní T-SQL pomocí fragmentů kódu
  • Zobrazení podrobností databázového objektu pomocí náhledu definice a přejít k definici

Požadavky

Tento kurz vyžaduje SQL Server nebo Azure SQL Database TutorialDB. Pokud chcete vytvořit databázi TutorialDB , proveďte jeden z následujících rychlých startů:

Rychle vyhledejte databázový objekt a proveďte běžnou úlohu.

Azure Data Studio poskytuje vyhledávací widget pro rychlé vyhledání databázových objektů. Seznam výsledků poskytuje místní nabídku pro běžné úkoly relevantní pro vybraný objekt, například Upravit data pro tabulku.

  1. Otevřete boční panel SERVERŮ (Ctrl+G), rozbalte databáze a vyberte TutorialDB.

  2. Otevřete řídicí panel TutorialDB tak, že kliknete pravým tlačítkem na TutorialDB a v místní nabídce vyberete Spravovat:

    místní nabídka – Spravovat

  3. Na řídicím panelu klikněte pravým tlačítkem na dbo. Zákazníci (ve widgetu vyhledávání) a vyberte Upravit data.

    Tip

    Pro databáze s mnoha objekty použijte widget vyhledávání k rychlému vyhledání tabulky, zobrazení atd.

    Widget pro rychlé vyhledávání

  4. Upravte sloupec E-mail v prvním řádku, zadejte orlando0@adventure-works.coma stisknutím klávesy Enter uložte změnu.

    úprava dat

Vytváření uložených procedur pomocí fragmentů T-SQL

Azure Data Studio poskytuje mnoho integrovaných fragmentů kódu T-SQL pro rychlé vytváření příkazů.

  1. Stisknutím kombinace kláves Ctrl+N otevřete nový editor dotazů.

  2. Do editoru zadejte sql, šipku dolů na sqlCreateStoredProcedure a stisknutím klávesy Tab (nebo Enter) načtěte fragment kódu uložené procedury.

    Snímek obrazovky zobrazující Editor Power Query s jazykem SQL zadaným v editoru a vyvolanou možností sqlCreateStoredProcedure

  3. Fragment kódu pro vytvoření uložené procedury má dvě pole nastavená pro rychlé úpravy , StoredProcedureName a SchemaName. Vyberte StoredProcedureName, klikněte pravým tlačítkem myši a vyberte Změnit všechny výskyty. Nyní zadejte getCustomer a všechny položky StoredProcedureName se změní na getCustomer.

    Snímek obrazovky znázorňující Editor Power Query s vyvolanou možností Změnit všechny výskyty

  4. Změňte všechny výskyty schemaName na dbo.

  5. Fragment kódu obsahuje zástupné parametry a základní text, které potřebují aktualizaci. Příkaz EXECUTE obsahuje také zástupný text, protože neví, kolik parametrů bude procedura obsahovat. V tomto kurzu aktualizujte fragment kódu tak, aby vypadal jako následující kód:

    -- 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. Pokud chcete vytvořit uloženou proceduru a dát jí testovací běh, stiskněte klávesu F5.

Uložená procedura se teď vytvoří a podokno VÝSLEDKY zobrazí vráceného zákazníka ve formátu JSON. Pokud chcete zobrazit formátovaný JSON, klikněte na vrácený záznam.

Použití definice náhledu

Azure Data Studio umožňuje zobrazit definici objektů pomocí funkce náhledu definice. Tato část vytvoří druhou uloženou proceduru a pomocí náhledu definice zjistí, které sloupce jsou v tabulce k rychlému vytvoření textu uložené procedury.

  1. Stisknutím kombinace kláves Ctrl+N otevřete nový editor.

  2. Do editoru zadejte sql, šipku dolů na sqlCreateStoredProcedure a stisknutím klávesy Tab (nebo Enter) načtěte fragment kódu uložené procedury.

  3. Type in setCustomer for StoredProcedureName and dbo for SchemaName

  4. @param Zástupné symboly nahraďte následující definicí parametru:

    @json_val nvarchar(max)
    
  5. Tělo uložené procedury nahraďte následujícím kódem:

    INSERT INTO dbo.Customers
    
  6. Na řádku INSERT, který jste právě přidali, klikněte pravým tlačítkem na dbo. Zákazníci a vyberte Náhled definice.

    náhled definice

  7. Zobrazí se definice tabulky, abyste rychle viděli, jaké sloupce jsou v tabulce. V seznamu sloupců můžete snadno dokončit příkazy pro uloženou proceduru. Dokončete vytváření příkazu INSERT, který jste přidali dříve, abyste dokončili text uložené procedury, a zavřete okno náhledu definice:

    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. Odstraňte (nebo zakomentujte) příkaz EXECUTE v dolní části dotazu.

  9. Celý příkaz by měl vypadat jako následující kód:

    -- 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. Pokud chcete vytvořit uloženou proceduru setCustomer , stiskněte klávesu F5.

Použití uložení výsledků dotazu jako JSON k otestování uložené procedury setCustomer

Uložená procedura setCustomer vytvořená v předchozí části vyžaduje předání dat JSON do parametru @json_val . Tato část ukazuje, jak získat správně naformátovaný bit JSON, který se má předat do parametru, abyste mohli uloženou proceduru otestovat.

  1. Na bočním panelu SERVERY klikněte pravým tlačítkem myši na dbo. Tabulka Customers (Zákazníci) a klikněte na SELECT TOP 1000 Rows (Vybrat prvních 1000 řádků).

  2. Vyberte první řádek v zobrazení výsledků, ujistěte se, že je vybraný celý řádek (klikněte na číslo 1 ve sloupci úplně vlevo) a vyberte Uložit jako JSON.

  3. Změňte složku na umístění, které si zapamatujete, abyste mohli soubor později (například plochu) odstranit a kliknout na Uložit. Otevře se formátovaný soubor JSON.

    Uložit jako JSON

  4. Vyberte data JSON v editoru a zkopírujte je.

  5. Stisknutím kombinace kláves Ctrl+N otevřete nový editor.

  6. Předchozí kroky ukazují, jak můžete snadno získat správně formátovaná data pro dokončení volání procedury setCustomer . Následující kód používá stejný formát JSON s podrobnostmi o novém zákazníkovi, abychom mohli otestovat proceduru setCustomer . Příkaz obsahuje syntaxi pro deklaraci parametru a spuštění nových procedur get a set. Zkopírovaná data můžete vložit z předchozí části a upravit je tak, aby byla stejná jako v následujícím příkladu, nebo jednoduše vložte následující příkaz do editoru dotazů.

    -- 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. Spusťte skript stisknutím klávesy F5. Skript vloží nového zákazníka a vrátí informace nového zákazníka ve formátu JSON. Kliknutím na výsledek otevřete formátované zobrazení.

    výsledek testu

Další kroky

V tomto kurzu jste se naučili, jak:

  • Objekty schématu rychlého vyhledávání
  • Úprava dat tabulky
  • Psaní skriptu T-SQL pomocí fragmentů kódu
  • Informace o podrobnostech databázového objektu pomocí náhledu definice a přechodu k definici

Pokud chcete zjistit, jak povolit pět nejpomalejších widgetů dotazů, dokončete další kurz: