1
我需要根據SQL Server中的某些條件將記錄安裝到兩個不同的表中。在Oracle中有一個名爲INSERT ALL
的方法,可以根據下面的條件插入到不同的表中。在SQL Server中是否有任何等效的Oracle INSERT ALL方法
insert all
when loc in ('NEW YORK', 'BOSTON') THEN
into dept_east(deptno, dname, loc) values(deptno, dname, loc)
when loc in ('CHICAGO') THEN
into dept_mid(deptno, dname, loc) values(deptno, dname, loc)
else
into dept_west(deptno, dname, loc) values(deptno, dname, loc)
select deptno, dname, loc
from dept
SQL中是否有任何方法可以直接插入到多個表中。我也試過使用MERGE語句。
在SQL Server中,任何DML語句只能影響單個表 - 但您的激勵示例看起來像是[分區表](https://msdn.microsoft.com/zh-cn/library/ms190787.aspx )可能是(部分)解決方案。 –
請注意,SQL Server默認支持過程式SQL,因此您可以輕鬆地將多個邏輯命令作爲單個命令發送,包括您需要的任何條件。事實上,分離這樣的數據聞起來有點不一樣 - 分區表可能是更好的選擇。儘可能保持數據正常。 – Luaan