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