欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle SQL、PLSQL 绝技之多表插入

程序员文章站 2022-06-11 12:46:33
...

假如一个在线电子商务系统,我们现在需要根据订单表体现的消费金额将客户简单分为大中小三类并分别插入到三张表中.订单表order(order_idnumber,cust_idnumber,am

假如一个在线电子商务系统,我们现在需要根据订单表体现的消费金额将客户简单分为大中小三类并分别插入到三张表中.

订单表 order (order_id number, cust_id number, amount number);

小客户表 small_cust (cust_id number, tot_amt number);

中客户表 med_cust (cust_id number, tot_amt number);

大客户表 big_cust (cust_id number, tot_amt number);

如果总消费金额小于10000,香港服务器, 则归入小客户;

如果总消费金额大于10000并小于50000,则归入中客户;

如果总消费金额大于50000,则归入大客户;

要实现这个需求,如果我们不知道INSERT ALL/FIRST 的用法,美国服务器,可能会用一段PL/SQL遍历查询订单表返回的游标,然后逐条记录判断客户消费总额来决定插入哪个表,需要分别写三个INSERT语句,这样也可以达到目的,但远没有使用INSERT FIRST简洁和高效。

下面是用INSERT FIRST实现的例子,香港空间,是不是一目了然?