在SQL Server中是否有Oracle的INSERT ALL等效方法

时间:2015-07-20 07:57:48

标签: sql sql-server

我需要根据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语句。

1 个答案:

答案 0 :(得分:1)

没有等价物。执行多个插入语句。

如果您的表结构适合使用分区视图,您可以查看它。这是在SQL Server中的一个语句中真正插入多个表的唯一方法。