sintaxis from ejemplos condiciones sql sql-server tsql stored-procedures

from - SQL Server SELECT en la tabla existente



sql server syntax where (5)

Funcionaría como se indica a continuación:

insert into Gengl_Del Select Tdate,DocNo,Book,GlCode,OpGlcode,Amt,Narration from Gengl where BOOK=''" & lblBook.Caption & "'' AND DocNO=" & txtVno.Text & ""

Estoy intentando seleccionar algunos campos de una tabla e insertarlos en una tabla existente desde un procedimiento almacenado. Esto es lo que estoy intentando:

SELECT col1, col2 INTO dbo.TableTwo FROM dbo.TableOne WHERE col3 LIKE @search_key

Creo que seleccionar en es para tablas temporales, por eso recibo un error que dbo.TableTwo ya existe.

¿Cómo puedo insertar varias filas de dbo.TableOne en dbo.TableTwo ?


Hay dos formas diferentes de implementar la inserción de datos de una tabla a otra.

Para la tabla existente - INSERTAR EN SELECCIONAR

Este método se usa cuando la tabla ya se creó en la base de datos anteriormente y los datos se insertarán en esta tabla desde otra tabla. Si las columnas enumeradas en la cláusula de inserción y la cláusula de selección son las mismas, no se requiere que las enumeren. Es una buena práctica enumerarlos siempre con fines de legibilidad y escalabilidad.

----Create testable CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100)) ----INSERT INTO TestTable using SELECT INSERT INTO TestTable (FirstName, LastName) SELECT FirstName, LastName FROM Person.Contact WHERE EmailPromotion = 2 ----Verify that Data in TestTable SELECT FirstName, LastName FROM TestTable ----Clean Up Database DROP TABLE TestTable

Para la tabla no existente - SELECT INTO

Este método se utiliza cuando la tabla no se creó anteriormente y debe crearse cuando los datos de una tabla se insertarán en la tabla recién creada desde otra tabla. La nueva tabla se crea con los mismos tipos de datos que las columnas seleccionadas.

----Create a new table and insert into table using SELECT INSERT SELECT FirstName, LastName INTO TestTable FROM Person.Contact WHERE EmailPromotion = 2 ----Verify that Data in TestTable SELECT FirstName, LastName FROM TestTable ----Clean Up Database DROP TABLE TestTable

Ref. 1 2


La instrucción SELECT INTO copia los datos de una tabla en una nueva tabla.

SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition;

por ejemplo: la declaración SQL crea una copia de seguridad de los clientes

SELECT * INTO backup FROM Customers;


SELECT ... INTO ... solo funciona si la tabla especificada en la cláusula INTO no existe; de ​​lo contrario, debe usar:

INSERT INTO dbo.TABLETWO SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key

Esto supone que solo hay dos columnas en dbo.TABLETWO; de lo contrario, debe especificar las columnas:

INSERT INTO dbo.TABLETWO (col1, col2) SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key


select * into existing table database..existingtable from database..othertables....

Si ya ha utilizado select * into tablename from other tablenames , la próxima vez para agregar, diga select * into existing table tablename from other tablenames