我经常看到两种风格,INSERT select和insert into select,有什么不同?它们是一样的吗?
我使用的是SQL Server 2008 Enterprise。
这里有两个示例。
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
先谢谢你,乔治
发布于 2009-08-27 13:30:03
在SQL Server
和MySQL
中,INTO
是纯粹的语法糖。
没什么区别。
Oracle
和PostgreSQL
要求此关键字存在,AFAIR
、ANSI
SQL
标准也是如此。
发布于 2009-08-27 13:30:02
它们是一样的;INTO
只是可选的。
发布于 2009-08-27 13:33:46
我相信你列出的两个说法实际上是相同的。第一个批处理中缺少"INTO“语句,但它被隐含为INSERT语句的一部分。
为了便于说明,以下是使用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
https://stackoverflow.com/questions/1341096
复制相似问题