ITPub博客

首页 > 应用开发 > IT综合 > 动态执行用法例子

动态执行用法例子

原创 IT综合 作者:liang573728 时间:2019-02-24 18:18:05 0 删除 编辑

这个proc的作用就是从lottery select出数据,然后分别insert到superlottery、superlottery2里.

其中insert 字符时候需要使用'',一对双引号来转化为单引号.

DECLARE
ID_v VARCHAR2(20);
NO1_v VARCHAR2(20);
NO2_v VARCHAR2(20);
NO3_v VARCHAR2(20);
NO4_v VARCHAR2(20);
NO5_v VARCHAR2(20);
NO6_v VARCHAR2(20);
NO7_v VARCHAR2(20);

sql_v VARCHAR2(200);
sql2_v VARCHAR2(200);

CURSOR lottery_cur IS
SELECT ID,NO1,NO2,NO3,NO4,NO5,NO6,NO7
FROM LOTTERY;
lottery_rec lottery_cur%ROWTYPE;

BEGIN
OPEN lottery_cur;
LOOP
FETCH lottery_cur INTO lottery_rec;
EXIT WHEN lottery_cur%NOTFOUND;

NO1_v := 'N'||lottery_rec.no1;
NO2_v := 'N'||lottery_rec.no2;
NO3_v := 'N'||lottery_rec.no3;
NO4_v := 'N'||lottery_rec.no4;
NO5_v := 'N'||lottery_rec.no5;
NO6_v := 'NN'||lottery_rec.no6;
NO7_v := 'NN'||lottery_rec.no7;

sql_v := ' INSERT INTO superlottery( ID, '||NO1_v||', '||NO2_v||', '||NO3_v||', '||NO4_v||', '||NO5_v||') VALUES( '''||lottery_rec.ID||''', '||lottery_rec.no1||', '||lottery_rec.no2||', '||lottery_rec.no3||', '||lottery_rec.no4||', '||lottery_rec.no5||')';
EXECUTE IMMEDIATE sql_v;
COMMIT;

sql_v := '';

sql2_v := ' INSERT INTO superlottery2( ID, '||NO6_v||', '||NO7_v||') VALUES( '''||lottery_rec.ID||''', '||lottery_rec.no6||', '||lottery_rec.no7||')';
EXECUTE IMMEDIATE sql2_v;
COMMIT;

sql2_v := '';
END LOOP;
CLOSE lottery_cur;
END;

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/640706/viewspace-1017852/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-10-15

  • 博文量
    152
  • 访问量
    138345