初学者提问 关于oracle存储过程的问题,求前辈指点。

高手哪位知道,初学者提问 关于oracle存储过程的问题,求前辈指点。?

要求写一个存储过程,把TABLE_1的A1列的所有数值 插入TABLE_2 的A2列中,然后A1中的所有数值+1000插入A2列,再然后A1中所有的奇数+2000插入A2中,要求用 for r in loop.... endloop 的格式写,然后判断奇偶数用if语句判断。 急求啊''
最新回答
一懒众山小

2024-06-25 00:01:00

CREATE OR REPLACE PROCEDURE study1
(
) IS
TABLE_1.A1%type tmp;
CURSOR cur IS SELECTA1 FROM TABLE_1;
BEGIN
FOR cur_result in cur LOOP
BEGIN
tmp := cur_result.a1;
INSERT INTO TABLE_2 (A2) VALUES( tmp );
INSERT INTO TABLE_2 (A2) VALUES( tmp + 1000);
IF mod(tmp,2) = 1 THEN
BEGIN
INSERT INTO TABLE_2 (A2) VALUES( tmp + 2000);
END
ENDIF;

END;
END LOOP;
END study1
追问

运行不了啊,语法有问题 ?

 

追答
1、把IS前面的()去掉
2、改为tmp LINSHI.isdid%type.就是顺序调换一下。

我这里没环境,所以有点错误,
追问

有点错误没关系,不过还是 有一点''   

 

 

 

您能否找个环境试一下?''   

追答
额。。有就测试了,把":"去掉就行了。
追问
也不行,哎呦''