sql 显式游标

来源:互联网 发布:vivo网络授权书怎么 编辑:程序博客网 时间:2024/05/01 20:17
declare   mccx varchar(4);--一定要大于等于表cmmtmcc表里的字段定义,最好是等于,不然,使用这个变量的时候会溢出。  mercnm varchar(100);  bus varchar(100);  ind varchar(200);  descx varchar(2000);  tm_stp varchar(26);  cursor up is select * from cmmtmcc a;--定义一个游标begin open up;--打开游标  loop--循环,没有分号。    fetch up into mccx,mercnm,bus,ind,descx,tm_stp;--这是一句,句末有个分号,这里into的变量个数应该跟每个select出来的条目的字段个数一致。    update testmcc set merc_cls_nm=mercnm,bus_cls=bus,ind_cls=ind,bus_desc=descx where mcc_cd=mccx;    exit when up%NOTFOUND;--游标的常量结束循环用。  end loop;  close up;  end;

下面是带加法的一个。

declare   mccx varchar(4);  testdata number;    cursor up is select mcc_cd from cmmtmcc where rownum<=20;  begin open up;  testdata:=10001;  loop     fetch up into mccx;    insert into CMMTFEEMCCCOST (corg_no,Mcc_cd)values(testdata||'',mccx);--||在oracle中可以把其他类型的数据转换成字符串类型。    testdata:=testdata+1;    exit when up%NOTFOUND;    end loop;    close up;  end;


原创粉丝点击