I use multiple row insert syntax in oracle SQL like this:
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;
can anyone explain me what is the meaning of using
select * from dual
at the and of statement?
it the syntax for INSERT ALL
INSERT ALL
INTO <table_name> VALUES <column_name_list)
INTO <table_name> VALUES <column_name_list)
...
<SELECT Statement>;
if there is nothing you want to select after inserting you do select * from dual
otherwise you do your select you want usually to confirm the insert success
The insert all can be used to insert data from a select statement, to another table In your example you have already provided the values to insert, that's why you need to do the select * from dual, to trigger the insertion.
http://jzab.blogspot.com/2013/05/oracle-insert-multiple-rows-with-single.html
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.