varios update tablas tabla sintaxis relacionadas registros lista into insertar especificar ejemplos datos crear comandos campos sql sql-server sql-server-2008

update - sintaxis insert into mysql



¿Diferencias entre INSERTAR seleccionar e insertar en seleccionar? (4)

Creo que las dos afirmaciones que has enumerado son, de hecho, las mismas. La instrucción "INTO" falta en el primer lote, pero está implícita como parte de la instrucción INSERT.

Para propósitos de ilustración, aquí hay algunas formas diferentes de usar la declaración INSERT.

SELECT 1 AS ID , ''SomeText'' AS SomeText INTO #tmpTableName INSERT INTO #tmpTableName (ID,SomeText) SELECT 2, ''Text'' INSERT INTO #tmpTableName (ID,SomeText) VALUES(3, ''MoreText'') SELECT * FROM #tmpTableName DROP TABLE #tmpTableName

A menudo veo dos estilos, INSERTAR seleccionar e insertar en seleccionar, ¿cuáles son las diferencias? ¿Son lo mismo?

Estoy usando SQL Server 2008 Enterprise.

Aquí hay dos muestras.

INSERT california_authors (au_id, au_lname, au_fname) SELECT au_id, au_lname, au_fname FROM authors WHERE State = ''CA''

http://www.sqlteam.com/article/using-select-to-insert-records

INSERT INTO Store_Information (store_name, Sales, Date) SELECT store_name, Sales, Date FROM Sales_Information

http://www.1keydata.com/sql/sqlinsert.html

gracias de antemano, george


En SQL Server y MySQL , INTO es sintaxis pura de azúcar.

Ninguna diferencia.

Oracle y PostgreSQL requieren que esta palabra clave esté presente, y, AFAIR , los ANSI SQL también lo hacen.


Son los mismos El INTO es solo opcional.


SELECT...INTO crea una nueva tabla, mientras que INSERT...SELECT requiere una tabla existente. Así que hay implicaciones de seguridad y posibles problemas de rendimiento a considerar.

Además, con SELECT...INTO , la nueva tabla tiene las mismas columnas pero no tiene claves ni restricciones, por lo que es mejor simplemente para crear una copia de seguridad temporal.