Tutorial: usar el editor de Transact-SQL para crear objetos de la base de datos (Azure Data StudioAzure Data Studio)Tutorial: Use the Transact-SQL editor to create database objects - Azure Data StudioAzure Data Studio

Crea y ejecutar consultas, procedimientos almacenados, scripts, etc., son las tareas principales de los profesionales de bases de datos.Creating and running queries, stored procedures, scripts, etc. are the core tasks of database professionals. En este tutorial, se muestran las características principales del editor de T-SQL para crear objetos de bases de datos.This tutorial demonstrates the key features in the T-SQL editor to create database objects.

En este tutorial, obtendrá información sobre cómo usar Azure Data StudioAzure Data Studio para:In this tutorial, you learn how to use Azure Data StudioAzure Data Studio to:

  • Buscar objetos de la base de datosSearch database objects
  • Editar datos de una tablaEdit table data
  • Fragmentos de código para escribir rápidamente T-SQLUse snippets to quickly write T-SQL
  • Ver detalles de objetos de la base de datos mediante Ver la definición e Ir a la definiciónView database object details using Peek Definition and Go to Definition

PrerequisitesPrerequisites

En este tutorial se requiere la base de datos TutorialDB de SQL Server o Azure SQL Database.This tutorial requires the SQL Server or Azure SQL Database TutorialDB. Para crear la base de datos TutorialDB, complete uno de los siguientes inicios rápidos:To create the TutorialDB database, complete one of the following quickstarts:

Buscar rápidamente un objeto de la base de datos y realizar una tarea comúnQuickly locate a database object and perform a common task

Azure Data StudioAzure Data Studio proporciona un widget de búsqueda para encontrar rápidamente objetos de la base de datos.provides a search widget to quickly find database objects. La lista de resultados proporciona un menú contextual de tareas comunes relevantes para el objeto seleccionado, como Editar datos para una tabla.The results list provides a context menu for common tasks relevant to the selected object, such as Edit Data for a table.

  1. Abra la barra lateral SERVIDORES (Ctrl+G), expanda Bases de datos y seleccione TutorialDB.Open the SERVERS sidebar (Ctrl+G), expand Databases, and select TutorialDB.

  2. Para abrir el panel de TutorialDB, haga clic con el botón derecho en TutorialDB y seleccione Administrar en el menú contextual:Open the TutorialDB Dashboard by right-clicking TutorialDB and selecting Manage from the context menu:

    menú contextual: administrar

  3. En el panel, haga clic con el botón derecho en dbo.Customers (en el widget de búsqueda) y seleccione Editar datos.On the dashboard, right-click dbo.Customers (in the search widget) and select Edit Data.

    Sugerencia

    Para las bases de datos con un gran número de objetos, use el widget de búsqueda para encontrar rápidamente la tabla, vista, etc., que esté buscando.For databases with many objects, use the search widget to quickly locate the table, view, etc. that you're looking for.

    widget de búsqueda rápida

  4. Edite la columna Correo electrónico en la primera fila, escriba orlando0@adventure-works.com y presione ENTRAR para guardar el cambio.Edit the Email column in the first row, type orlando0@adventure-works.com, and press Enter to save the change.

    editar datos

Usar fragmentos de código de T-SQL para crear procedimientos almacenadosUse T-SQL snippets to create stored procedures

Azure Data StudioAzure Data Studio proporciona una gran cantidad de fragmentos de código de T-SQL integrados para crear rápidamente instrucciones.provides many built-in T-SQL snippets for quickly creating statements.

  1. Abra un nuevo editor de consultas al presionar Ctrl+N.Open a new query editor by pressing Ctrl+N.

  2. Escriba sql en el editor, desplácese con la flecha abajo hasta sqlCreateStoredProcedure y, después, presione la tecla TAB (o Entrar) para cargar el fragmento de código del procedimiento almacenado y creado.Type sql in the editor, arrow down to sqlCreateStoredProcedure, and press the Tab key (or Enter) to load the create stored procedure snippet.

    lista de fragmentos de código

  3. El fragmento de código para crear un procedimiento almacenado tiene dos campos configurados para su edición rápida (StoredProcedureName y SchemaName).The create stored procedure snippet has two fields set up for quick edit, StoredProcedureName and SchemaName. Seleccione StoredProcedureName, haga clic con el botón derecho y, después, seleccione Cambiar todas las repeticiones.Select StoredProcedureName, right-click, and select Change All Occurrences. Ahora, escriba getCustomer y todas las entradas de StoredProcedureName cambiarán a getCustomer.Now type getCustomer and all StoredProcedureName entries change to getCustomer.

    fragmento de código

  4. Cambie todas las repeticiones de SchemaName a dbo.Change all occurrences of SchemaName to dbo.

  5. El fragmento de código contiene texto de cuerpo y parámetros de marcador de posición que es necesario actualizar.The snippet contains placeholder parameters and body text that needs updating. La instrucción EXECUTE también contiene texto de marcador de posición porque no se sabe cuántos parámetros tendrá el procedimiento.The EXECUTE statement also contains placeholder text because it doesn't know how many parameters the procedure will have. Para este tutorial, actualice el fragmento de código de forma que se parezca al código siguiente: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. Para crear el procedimiento almacenado y realizar una ejecución de prueba, presione F5.To create the stored procedure and give it a test run, press F5.

Se creará el procedimiento almacenado y, en el panel de RESULTADOS, se mostrará el cliente devuelto en formato JSON.The stored procedure is now created, and the RESULTS pane displays the returned customer in JSON. Para ver el código JSON con formato, haga clic en el registro devuelto.To see formatted JSON, click the returned record.

Usar Ver la definiciónUse Peek Definition

Azure Data StudioAzure Data Studio permite ver la definición de un objeto con la característica “Ver la definición”.provides the ability to view an objects definition using the peek definition feature. En esta sección, se crea un segundo procedimiento almacenado y se usa opción “Ver la definición” para ver las columnas de una tabla y crear rápidamente el cuerpo del procedimiento almacenado.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. Para abrir un nuevo editor, presione Ctrl+N.Open a new editor by pressing Ctrl+N.

  2. Escriba sql en el editor, desplácese con la flecha abajo hasta sqlCreateStoredProcedure y, después, presione la tecla TAB (o Entrar) para cargar el fragmento de código del procedimiento almacenado y creado.Type sql in the editor, arrow down to sqlCreateStoredProcedure, and press the Tab key (or Enter) to load the create stored procedure snippet.

  3. Escriba setCustomer para StoredProcedureName y dbo para SchemaName.Type in setCustomer for StoredProcedureName and dbo for SchemaName

  4. Reemplace los marcadores de posición de @param por la siguiente definición de parámetros:Replace the @param placeholders with the following parameter definition:

    @json_val nvarchar(max)
    
  5. Reemplace el cuerpo del procedimiento almacenado por el código siguiente:Replace the body of the stored procedure with the following code:

    INSERT INTO dbo.Customers
    
  6. En la línea INSERT que acaba de agregar, haga clic con el botón derecho en dbo.Customers y seleccione Ver la definición.In the INSERT line you just added, right-click dbo.Customers and select Peek Definition.

    ver la definición

  7. Se mostrará la definición de la tabla para que pueda ver rápidamente las columnas de la tabla.The table definition appears so you can quickly see what columns are in the table. Vea la lista de columnas para completar fácilmente las instrucciones del procedimiento almacenado.Refer to the column list to easily complete the statements for your stored procedure. Termine de crear la instrucción INSERT que ha agregado anteriormente para completar el cuerpo del procedimiento almacenado y, después, cierre la ventana “Ver la definición”: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. Elimine (o marque como comentario) el comando EXECUTE de la parte inferior de la consulta.Delete (or comment out) the EXECUTE command at the bottom of the query.

  9. La instrucción completa tiene que parecerse al código siguiente: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. Para crear el procedimiento almacenado setCustomer, presione F5.To create the setCustomer stored procedure, press F5.

Usar los resultados de una consulta guardada como JSON para probar el procedimiento almacenado setCustomerUse save query results as JSON to test the setCustomer stored procedure

El procedimiento almacenado setCustomer creado en la sección anterior necesita que se pasen datos JSON al parámetro @json_val.The setCustomer stored procedure created in the previous section requires JSON data be passed into the @json_val parameter. En esta sección, se muestra cómo obtener código JSON con el formato correcto para pasarlo al parámetro con el fin de probar el procedimiento almacenado.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. En la barra lateral SERVIDORES, haga clic con el botón derecho en la tabla dbo.Customers y seleccione SELECT TOP 1000 Rows (SELECCIONAR PRIMERAS 100 filas).In the SERVERS sidebar right-click the dbo.Customers table and click SELECT TOP 1000 Rows.

  2. Seleccione la primera fila de la vista de resultados, asegúrese de que esté seleccionada toda la fila (haga clic en el número 1 de la columna del extremo izquierdo) y seleccione Guardar como 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. Cambie la carpeta a una ubicación que recuerde para que pueda eliminar el archivo más tarde (por ejemplo, el Escritorio) y haga clic en Guardar.Change the folder to a location you'll remember so you can delete the file later (for example desktop) and click Save. Se abrirá el archivo con formato JSON.The JSON formatted file opens.

    guardar como JSON

  4. Seleccione los datos JSON en el editor y cópielos.Select the JSON data in the editor and copy it.

  5. Para abrir un nuevo editor, presione Ctrl+N.Open a new editor by pressing Ctrl+N.

  6. En los pasos anteriores, se muestra cómo obtener fácilmente los datos con el formato correcto para completar la llamada al procedimiento setCustomer.The previous steps show how you can easily get the properly formatted data to complete the call to the setCustomer procedure. Como puede ver, en el código siguiente se usa el mismo formato JSON con nuevos datos de clientes para probar el procedimiento setCustomer.You can see the following code uses the same JSON format with new customer details so we can test the setCustomer procedure. La instrucción contiene sintaxis para declarar el parámetro y ejecutar los nuevos procedimientos de obtener y establecer.The statement includes syntax to declare the parameter and run the new get and set procedures. Puede pegar los datos copiados de la sección anterior y editarlos para que coincidan con el ejemplo siguiente, o bien puede pegar la instrucción siguiente en el editor de consultas.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. Para ejecutar el script, presione F5.Execute the script by pressing F5. El script inserta un nuevo cliente y devuelve la información del nuevo cliente en formato JSON.The script inserts a new customer and returns the new customer's information in JSON format. Haga clic en el resultado para abrir una vista con formato.Click the result to open a formatted view.

    resultado de la prueba

Pasos siguientesNext steps

En este tutorial, ha aprendido a:In this tutorial, you learned how to:

  • Objetos del esquema de búsqueda rápidaQuick search schema objects
  • Editar datos de una tablaEdit table data
  • Escribir un script de T-SQL con fragmentos de códigoWriting T-SQL script using snippets
  • Información sobre detalles de objetos de la base de datos mediante “Ver la definición” e “Ir a la definición”Learn about database object details using Peek Definition and Go to Definition

Para obtener información sobre cómo habilitar el widget de las cinco consultas más lentas, complete el tutorial siguiente:To learn how to enable the five slowest queries widget, complete the next tutorial: