在oracle中,into語句可以將select出來的指定行結(jié)果集復(fù)制到一個(gè)新的表中,語法為“Insert into Table2(field1,field2…) select value1,value2,…from Table1”;也可以將一行的結(jié)果復(fù)制到一個(gè)變量中,語法為“SELECT vale1, value2 into Table2 from Table1”。
本教程操作環(huán)境:windows10系統(tǒng)、Oracle 12c版、Dell G3電腦。
oracle中into語句怎么用
通常會(huì)有這兩種方法:insert into select 和 select into from。
前者可以將select出來的N行(0到任意數(shù))結(jié)果集復(fù)制一個(gè)新表中,后者只能將"一行"結(jié)果復(fù)制到一個(gè)變量中。這樣說吧,select into是PL/SQL language 的賦值語句。而前者是標(biāo)準(zhǔn)的SQL語句。
1.INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,…) select value1,value2,… from Table1
注意:
(1)要求目標(biāo)表Table2必須存在,并且字段field,field2…也必須存在
?。?)注意Table2的主鍵約束,如果Table2有主鍵而且不為空,則 field1, field2…中必須包括主鍵
?。?)注意語法,不要加values,和插入一條數(shù)據(jù)的sql混了,不要寫成:
Insert into Table2(field1,field2,…) values (select value1,value2,… from Table1)
由于目標(biāo)表Table2已經(jīng)存在,所以我們除了插入源表Table1的字段外,還可以插入常量。
2.SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標(biāo)表Table2不存在,因?yàn)樵诓迦霑r(shí)會(huì)自動(dòng)創(chuàng)建表Table2,并將Table1中指定字段數(shù)據(jù)復(fù)制到Table2中。
推薦教程:《Oracle視頻教程》