Inserte múltiples valores en múltiples tablas usando una sola declaración en SQL Server

La función OUTPUT de T-SQL, que se introdujo en 2005, se puede usar para insertar varios valores en varias tablas en una sola declaración. La cláusula OUTPUT devuelve los valores de salida de cada fila que formó parte de una operación INSERTAR, ACTUALIZAR o ELIMINAR.

Sintaxis:

INSERT INTO Table1 (Col1, Col2)
OUTPUT inserted.Col1, inserted.Col2
INTO Table2
VALUES()
GO

Ejemplo: en este ejemplo, estamos creando 2 tablas de muestra utilizando las siguientes consultas:

CREATE TABLE GeekTable1 (Id1 INT, Name1 VARCHAR(200), City1 VARCHAR(200))
GO
CREATE TABLE GeekTable2 (Id2 INT, Name2 VARCHAR(200), City2 VARCHAR(200))
GO

Ahora, insertemos valores en dos tablas juntas:

INSERT INTO GeekTable1 (Id1, Name1, City1)
OUTPUT inserted.Id1, inserted.Name1, inserted.City1
INTO GeekTable2
VALUES(1,'Komal','Delhi'), (2, 'Khushi','Noida')
GO

Seleccione datos de ambas tablas:

SELECT * FROM GeekTable1 ;
GO
SELECT * FROM GeekTable2 ;
GO

Salida: cuando ejecutamos la consulta anterior, veremos que hay dos filas cada una en la tabla:

GeekTable1:

Id1 Nombre1 ciudad1
1 Komal Delhi
2 Khushi Noida

GeekTable2:

Id2 Nombre2 ciudad2
1 Komal Delhi
2 Khushi Noida

Publicación traducida automáticamente

Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *