这可能是一个非常基本的SQL问题,但我已经看到了SQL INSERT语句,而不用从句INTO,我想知道,如果这是在SQL Server 2000或2008的一些特殊情况。SQL服务器插入没有INTO
INSERT语句看起来像
INSERT <table_name>
(
column names
)
select *
from <another table>
where <condition>
对不起,如果这是超级简单,但我只是想确认一下。 谢谢!
这可能是一个非常基本的SQL问题,但我已经看到了SQL INSERT语句,而不用从句INTO,我想知道,如果这是在SQL Server 2000或2008的一些特殊情况。SQL服务器插入没有INTO
INSERT语句看起来像
INSERT <table_name>
(
column names
)
select *
from <another table>
where <condition>
对不起,如果这是超级简单,但我只是想确认一下。 谢谢!
从MSDN:
INTO是可以 INSERT和目标 表之间可以使用一个可选关键字。
http://msdn.microsoft.com/en-us/library/aa933206%28v=sql.80%29.aspx
检查BNF语法http://savage.net.au/SQL/
92,99,SQL:2003
<insert statement> ::= INSERT INTO <insertion target> <insert columns and source>
按照ANSI规范,INTO只应在MERGE
条款可选。
对于SQL Server(此链接从2000年开始显示它的年龄 - 它存在于第一版SQL Server中),它是可选。对于MySQL也是可选的。
INSERT [ INTO]
{ table_name WITH (<table_hint_limited> [ ...n ])
| view_name
| rowset_function_limited
}
{ [ (column_list) ]
{ VALUES
({ DEFAULT | NULL | expression } [ ,...n])
| derived_table
| execute_statement
}
}
| DEFAULT VALUES
您提到它来自早期版本的SQL。如果您现在正在运行2005年,则可以删除INTO。
谢谢。我只是用INTO子句和INTO子句运行插入语句,结果是一样的。 – Abe 2011-03-22 23:26:51