Tutorial: Usar o editor Transact-SQL para criar objetos de banco de dados – Azure Data Studio

Criar e executar consultas, procedimentos armazenados, scripts etc. são as principais tarefas dos profissionais de banco de dados. Este tutorial demonstra os principais recursos do editor de T-SQL para criar objetos de banco de dados.

Neste tutorial, você aprenderá a usar o Azure Data Studio para:

  • Pesquisar objetos de banco de dados
  • Editar dados de tabela
  • Usar snippets para escrever T-SQL rapidamente
  • Exibir detalhes do objeto de banco de dados usando Inspecionar Definição e Ir para Definição

Pré-requisitos

Este tutorial requer o SQL Server ou o TutorialDB do Banco de Dados SQL do Azure. Para criar o banco de dados TutorialDB, siga um destes guias de início rápido:

Localizar rapidamente um objeto de banco de dados e executar uma tarefa comum

O Azure Data Studio fornece um widget de pesquisa para localizar rapidamente objetos de banco de dados. A lista de resultados fornece um menu de contexto com tarefas comuns relevantes para o objeto selecionado, como Editar Dados para uma tabela.

  1. Abra a barra lateral SERVIDORES (Ctrl+G), expanda Bancos de dados e selecione TutorialDB.

  2. Abra o Painel do TutorialDB clicando com o botão direito do mouse em TutorialDB e selecionando Gerenciar no menu de contexto:

    Menu de contexto – Gerenciar

  3. No painel, clique com o botão direito do mouse em dbo.Customers (no widget de pesquisa) e selecione Editar Dados.

    Dica

    Para bancos de dados com muitos objetos, use o widget de pesquisa para localizar rapidamente a tabela, exibição etc. que você está buscando.

    widget de pesquisa rápida

  4. Edite a coluna Email na primeira linha, digite orlando0@adventure-works.com e pressione Enter para salvar a alteração.

    editar dados

Usar snippets de T-SQL para criar procedimentos armazenados

O Azure Data Studio fornece muitos snippets de T-SQL internos para criar instruções rapidamente.

  1. Abra um novo editor de consultas pressionando Ctrl + N.

  2. Digite sql no editor, use a seta para baixo até chegar em sqlCreateStoredProcedure e pressione a tecla Tab (ou Enter) para carregar o snippet de criação de procedimento armazenado.

    Captura de tela que mostra o Editor de Consultas com SQL tipado no editor e a opção sqlCreateStoredProcedure destacada.

  3. O snippet de criação de procedimento armazenado tem dois campos configurados para edição rápida, StoredProcedureName e SchemaName. Selecione StoredProcedureName, clique com o botão direito do mouse e selecione Alterar Todas as Ocorrências. Agora, digite getCustomer e todas as entradas de StoredProcedureName serão alteradas para getCustomer.

    Captura de tela que mostra o Editor de Consultas com a opção Alterar Todas as Ocorrências destacada.

  4. Altere todas as ocorrências de SchemaName para dbo.

  5. O snippet contém parâmetros de espaço reservado e texto de corpo que precisam ser atualizados. A instrução EXECUTE também contém texto de espaço reservado porque não sabe quantos parâmetros o procedimento terá. Para este tutorial, atualize o snippet de forma que ele se pareça com o código a seguir:

    -- 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. Para criar o procedimento armazenado e fazer uma execução de teste, pressione F5.

O procedimento armazenado é criado e o painel RESULTADOS exibe o cliente retornado em JSON. Para ver o JSON formatado, clique no registro retornado.

Usar Inspecionar Definição

O Azure Data Studio possibilita exibir a definição de um objeto usando o recurso Espiar Definição. Esta seção cria um segundo procedimento armazenado e usa inspecionar definição para ver quais colunas estão em uma tabela para criar rapidamente o corpo do procedimento armazenado.

  1. Abra um novo editor pressionando Ctrl + N.

  2. Digite sql no editor, use a seta para baixo até chegar em sqlCreateStoredProcedure e pressione a tecla Tab (ou Enter) para carregar o snippet de criação de procedimento armazenado.

  3. Digite setCustomer para StoredProcedureName e dbo para SchemaName

  4. Substitua os espaços reservados @param pela definição de parâmetro a seguir:

    @json_val nvarchar(max)
    
  5. Substitua o corpo do procedimento armazenado pelo código a seguir:

    INSERT INTO dbo.Customers
    
  6. Na linha INSERT que você acabou de adicionar, clique com o botão direito do mouse em dbo.Customers e selecione Inspecionar Definição.

    inspecionar definição

  7. A definição da tabela é exibida para que você possa ver rapidamente quais colunas estão nela. Confira a lista de colunas para concluir facilmente as instruções para seu procedimento armazenado. Conclua a criação da instrução INSERT que você adicionou anteriormente para preencher o corpo do procedimento armazenado e feche a janela Inspecionar Definição:

    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. Exclua (ou comente) o comando EXECUTE na parte inferior da consulta.

  9. A instrução inteira deve ser semelhante ao seguinte código:

    -- 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. Para criar o procedimento armazenado setCustomer, pressione F5.

Use Salvar resultados da consulta como JSON para testar o procedimento armazenado setCustomer

O procedimento armazenado setCustomer criado na seção anterior requer que dados JSON sejam passados para o parâmetro @json_val. Esta seção mostra como obter um trecho de JSON formatado corretamente para passar para o parâmetro para que você possa testar o procedimento armazenado.

  1. Na barra lateral SERVIDORES, clique com o botão direito do mouse na tabela dbo.Customers e clique em Selecionar 1000 Linhas Superiores.

  2. Selecione a primeira linha na visualização dos resultados, certifique-se de que a linha inteira esteja selecionada (clique no número 1 na coluna à extrema esquerda) e selecione Salvar como JSON.

  3. Altere a pasta para uma localização da qual você se lembrará para que possa excluir o arquivo posteriormente (por exemplo, a área de trabalho) e clique em Salvar. O arquivo formatado em JSON é aberto.

    Salvar como JSON

  4. Selecione os dados JSON no editor e copie-os.

  5. Abra um novo editor pressionando Ctrl + N.

  6. As etapas anteriores mostram como você pode formatar facilmente os dados da forma correta para fazer a chamada para o procedimento setCustomer. Você pode ver que o seguinte código usa o mesmo formato JSON com novos detalhes do cliente para que possamos testar o procedimento setCustomer. A instrução inclui a sintaxe para declarar o parâmetro e executar os novos procedimentos get e set. Você pode colar os dados copiados da seção anterior e editá-los para que eles fiquem iguais ao exemplo a seguir ou simplesmente colar a instrução a seguir no editor de consultas.

    -- 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. Execute o script pressionando F5. O script insere um novo cliente e retorna as informações do novo cliente no formato JSON. Clique no resultado para abrir uma exibição formatada.

    resultado do teste

Próximas etapas

Neste tutorial, você aprendeu a:

  • Pesquisar rapidamente objetos de esquema
  • Editar dados de tabela
  • Escrever script de T-SQL usando snippets
  • Conheça mais detalhes sobre o objeto de banco de dados usando Inspecionar Definição e Ir para Definição

Para saber como habilitar o widget das cinco consultas mais lentas, conclua o seguinte tutorial: