oracle多表insert语句的使用
oracle从9i开始可以用一条insert语句实现向多个表中插入数据: INSERT [ALL] [conditional_insert_clause] [insert_into_clause values_clause](subquery) subquery:子查询语句,可以是任何合法的select语句 conditional_insert_clause如下: [ALL][FIRST] [WHEN condition THEN][insert_into_clause values_clause] [ELSE] [insert_into_clause values_clause] 此语法包含了无条件和有条件两种情况: 无条件INSERT ALL: INSERT ALL INTO sal_history VALUES(EMPID,HIREDATE,SAL) INTO mgr_history VALUES(EMPID,MGR,SAL) SELECT employee_id EMPID,hire_date HIREDATE,salary SAL,manager_id MGR FROM employees WHERE employee_id>200; 因为没有附加任何限制于检索出的记录,所以所有检出返回数据将根据其列名插入相应的表中。 有条件的INSERT ALL: INSERT ALL