您的位置:首页 > 数据库

[SQL Tricks] 一条SQL语句向一张表里插入多条记录 (Multi-table inserts in 9i)

2010-01-05 14:07 666 查看
Oracle9i加入了支持一次向多个表同时插入数据的SQL语句---INSERTALL|FIRSTINTO…SELECT…FROM…

INSERTALL|FIRST
[WHENconditionTHEN]INTOtarget[VALUES]
[WHENconditionTHEN]INTOtarget[VALUES]
...
[ELSE]INTOtarget[VALUES]
SELECT...
FROMsource_query;
关于INSERTALL/FIRST,AdrianBillington在他的文章中有详细介绍。

这里主要讲可以用INSERTALL把如下多条SQL语句放到一条SQL语句中来执行,


[code]
SQL>INSERTINTOt(id,val)values(1,'Y');
1rowcreated.
SQL>INSERTINTOt(id,val)values(2,'Y');
1rowcreated.
SQL>INSERTINTOt(id,val)values(3,'Y');
1rowcreated.
SQL>INSERTINTOt(id,val)values(4,'Y');
1rowcreated.
[/code]
用INSERTALL转换===>

[code]
SQL>INSERTALL
2INTOt(id,val)VALUES(1,'Y')
3INTOt(id,val)VALUES(2,'Y')
4INTOt(id,val)VALUES(3,'Y')
5INTOt(id,val)VALUES(4,'Y')
6SELECTNULLFROMdual;
4rowscreated.
SQL>
[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: