您的位置:首页 > 数据库 > Oracle

SQL脚本积累之五-----Oracle循环示例

2015-07-19 16:15 661 查看
Oracle循环示例

--定义变量
DECLARE
i number(10);    --柜员及用户名顺序号
bankNum number(10);   --分行号
partNum number(10);   --部门号
GovNum number(10);   --机构号
KbankNum number(10);   --库行号
MoneyNum number(10);    --钱箱顺序号
AutFirst number(10);    --授权柜员号A
AutSecond number(10);    --授权柜员号B
startTif number(10);   --初始凭证
endTif number(10);   --结束凭证

BEGIN

--初始化变量
i:=6;    --柜员及用户名顺序号
bankNum:=19;   --分行号
partNum:=1900100;   --部门号
GovNum:=19000;  --机构号
KbankNum:=7;  --库行号
MoneyNum:=2;--钱箱顺序号
AutFirst:=190000;  --授权柜员号A
AutSecond:=190001;   --授权柜员号B
startTif:=0;   --初始凭证

for i in 6..999 loop

endTif:=startTif+9999;

--柜员基本信息
Insert into CIFTLR(TLR_IDT,CIT_CDE,TLR_NUM,BDT_TDT,TLR_NAM,PAS_CNO,PAS_CNC,PSC_DAT,SGN_PWD,SGN_PDC,TLR_TYP,TLR_RAK,AUT_MA1,MNG_CL1,AUT_MA2,MNG_CL2,AUT_PWD,AUT_PDT,FTX_FLG,CBX_FLG,EFT_DAT,EXP_DAT,UPT_DAT,UPT_TLR,REC_STS,CCR_RSN,SGN_STS,SGN_DAT,KMG_FLG,VBT_NUM,BEL_BDT)
values (to_char(bankNum)||lpad(to_char(i),4,'0'),to_char(bankNum),lpad(to_char(i),4,'0'),to_char(partNum),'test'||to_char(bankNum)||lpad(to_char(i),4,'0'),null,null,null,'666666','666666','1',5,to_char(AutFirst),'7',to_char(AutSecond),'7',null,null,'Y','1',to_timestamp('03-2月 -15','DD-MON-RR HH.MI.SSXFF AM'),to_timestamp('01-1月 -99','DD-MON-RR HH.MI.SSXFF AM'),to_timestamp('03-2月 -15','DD-MON-RR HH.MI.SSXFF AM'),'000001','P',null,null,null,null,lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0'),to_char(partNum));

--库箱记录
Insert into CIFVBT(VBT_NUM,BDT_TDT,VBT_LIB,VBT_BOX,VBT_TLR,BOX_ORG,REC_VAT,REC_STS)
values (lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0'),to_char(partNum),lpad(to_char(KbankNum),2,'0'),lpad(to_char(MoneyNum),3,'0'),to_char(bankNum)||lpad(to_char(i),4,'0'),to_char(GovNum),lpad(to_char(KbankNum),2,'0')||'000','P');

--角色权限
insert into USRROL (tlr_idt, rol_cde, sys_cde)
values (to_char(bankNum)||lpad(to_char(i),4,'0'), '00030012', '0003');

--现金库存
insert into TIFVLT (VLT_KEY, VBT_NUM, REC_TYP, CCY_CDE, PAR_VAL, BRK_FLG, ISFAKE, CBL_CNT, LST_DAT, BAL_FLG, REC_STS)
values (lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0')||'1010000', lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0'), '1', '01', '00', '0', '0', 10000000.000, to_date('26-08-2014', 'dd-mm-yyyy'), 'N', 'P');

--凭证库存
insert into TIFCOI (COI_KEY, VBT_NUM, CEE_COE, CEE_TYE, CBL_NUM, LST_DAT, BAL_FLG, REC_STS)
values (lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0')||'001', lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0'), '001', '0  ', 10000, to_date('03-02-2015 16:46:27', 'dd-mm-yyyy hh24:mi:ss'), '0', 'P');

--凭证库存控制表
insert into TIFCCT (COI_KEY, FIT_COE, CEE_STS, SAT_COE, FIH_COE, AMOUNT, REC_STS,ID)
values (lpad(to_char(KbankNum),2,'0')||lpad(to_char(MoneyNum),3,'0')||'001', '000', '0', lpad(to_char(startTif),8,'0'), lpad(to_char(endTif),8,'0'), 10000, 'P',SQE_TIFCCT.NEXTVAL);

MoneyNum:=MoneyNum+1;
startTif:=startTif+10000;
--dbms_output.put_line(i);

end loop;

END;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: