我在oracle SQL中使用多行插入语法,如下所示:
INSERT ALL
INTO student(ID, FIRST_NAME, LAST_NAME, AGE) VALUES(4,'test_name','test_lname',17)
INTO student(ID, FIRST_NAME, LAST_NAME, AGE) VALUES(5,'test_name2','test_lname2',20)
INTO student(ID, FIRST_NAME, LAST_NAME, AGE) VALUES(6,'test_name3','test_lname3',21)
select * from dual;
任何人都可以解释一下使用
的含义从双
中选择*
at the statement?
答案 0 :(得分:6)
它是INSERT ALL
INSERT ALL
INTO <table_name> VALUES <column_name_list)
INTO <table_name> VALUES <column_name_list)
...
<SELECT Statement>;
如果您在插入后没有想要选择的内容,请执行select * from dual
否则你做你想要的选择通常确认插入成功
答案 1 :(得分:4)
DUAL表是默认存在的特殊单行表 Oracle数据库安装。它适用于选择a 伪列,例如SYSDATE或USER。桌上有一张 VARCHAR2(1)名为DUMMY的列,其值为“X”。
答案 2 :(得分:0)
insert all可用于将select语句中的数据插入另一个表 在您的示例中,您已经提供了要插入的值,这就是您需要执行select * from dual,以触发插入的原因。
http://jzab.blogspot.com/2013/05/oracle-insert-multiple-rows-with-single.html