partition 在oracle db 中的应用

-- Created on 2019/4/1 by IRIS.ZHOU 
declare 

  --cursor c_cursor is select cid from classes partition(class_sex_l01) for update;
  cursor s_cursor is select * from stues for update;
  -- Local variables here
  -- Local variables here
  i number(6);
  rn number(3);
 --c_type c_cursor%rowtype;
 s_type s_cursor%rowtype;
 -- cid number(6);
 -- cnum number(6);
begin
  -- Test statements here
 /**
  添加數據
  for i in 1..200 loop
      insert into classes values(S_ID.NEXTVAL,S_ID.NEXTVAL*8,'班級'||i,ceil((i+50)/5),floor((i+50)/5)+5,mod(i,2)+1);
  end loop;
  **/
   
  /**
  --修改數據 
  for i in (select cid from classes partition(class_sex_l02)) loop
   update classes partition(class_sex_l02) set cmax_age=ceil((i.cid+50)/5) where cid=i.cid  ; 
  end loop;
 **/

 
 /**
 使用游標修改
 **/
 
  /**
  for c_type in c_cursor loop
   update classes partition(class_sex_l01) set cmax_age=ceil((c_type.cid+50)/4)+5 where current of c_cursor; 
  end loop;
  **/ 
  
  /**
  --刪除數據
  delete classes partition(class_sex_l02) where cid=199;
  **/
  
 /**
 添加學生表信息 
  for i in 1..299 loop      
    insert into stues values(S_ID.NEXTVAL,S_ID.NEXTVAL*9,'name'||i,(ceil(i/4))+1,mod(i,2)+1,1);
  end loop;
  **/
  
   /**
 修改學生表信息 
  **/
  for s_type in s_cursor loop      
    select ceil(dbms_random.value(1,180)) into rn from dual;
    update stues set scid=rn where current of s_cursor;
  end loop;
 
  commit;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知道叫什麽名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值