1 sql-server-2008 sql-server t-sql
我想使用单个INSERT INTO
查询将数据添加到多个表,我可以这样做吗?
如果可能,请指导我并提供语法。
这不可能。该INSERT
语句按照语法(BOL 参考)采用单个目标对象:
[ WITH <common_table_expression> [ ,...n ] ]
INSERT
{
[ TOP ( expression ) [ PERCENT ] ]
[ INTO ]
{ <object> | rowset_function_limited
[ WITH ( <Table_Hint_Limited> [ ...n ] ) ]
}
{
[ ( column_list ) ]
[ <OUTPUT Clause> ]
{ VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ]
| derived_table
| execute_statement
| <dml_table_source>
| DEFAULT VALUES
}
}
}
[;]
Run Code Online (Sandbox Code Playgroud)
记下<object>
语法片段第 6 行的占位符。
您想在一个语句中插入两个表是否有特殊原因? 也许您正在寻找两个插入要么成功要么失败?在这种情况下,您将查看显式交易:
begin tran;
insert into dbo.YourTable1 ...
insert into dbo.YourTable2 ...
commit tran;
Run Code Online (Sandbox Code Playgroud)
除了代码简洁和原子性之外,我看不出有任何其他原因需要将多个目标表合并到一个INSERT
语句中。
归档时间: |
|
查看次数: |
8739 次 |
最近记录: |