這可能是一個非常基本的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