正如我在许多网站上看到的那样,如果我想制作INSERT ALL
,我必须使用SELECT (Like SELECT * FROM dual;)
为什么?
答案 0 :(得分:5)
根据INSERT ALL的语法,子查询是必需的(参见http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9014.htm#i2111652)
对子查询返回的每一行(即SELECT语句)执行insert子句。 SELECT * FROM dual返回一行,因此insert_clause(s)执行一次(当你想插入一组硬编码值时这很有用)
答案 1 :(得分:0)
作为shown in the documentation,INSERT ALL synthax需要一个子查询:你不能拥有INSERT ALL [...] VALUES [...]
。
我怀疑SELECT中的SELECT是一种在多个表上多行插入一行的方法。