求救 帮忙看一下 这段PL/SQL 有没有语法错误?? 谢谢啦

singercool 2007-03-29 05:53:49
CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST
(
ED_NUM IN NUMBER //700000000
)
IS
BEGIN
DECLARE
A NUMBER IS 0;
BASENUM NUMBER IS 100;
I NUMBER IS 0;  
Y NUMBER IS 0;  
begin
FOR A..ED_NUM/100 LOOP     
I = 100*A;
FOR I..(100*A+50) LOOP    
INSERT INTO tb values(i,'3','3','3',100,'0');    
INSERT INTO tb values(BASENUM-Y,'3','3','3',100,'0');
Y++;
END LOOP;
BASENUM = BASENUM+100;
Y=0;
END LOOP
end;
END;
...全文
262 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eric_1999 2007-03-30
  • 打赏
  • 举报
回复
这样就没有语法错误。

CREATE OR REPLACE PROCEDURE insertamounttest
(
ed_num IN NUMBER --//700000000
)
IS
BEGIN
DECLARE
a NUMBER := 0;
basenum NUMBER := 100;
i NUMBER (15, 10) := 0;
y NUMBER := 0;
BEGIN
FOR a IN 0 .. ed_num / 100
LOOP
i := 100 * a;

FOR i IN 0 .. (100 * a + 50)
LOOP
INSERT INTO tb values(i,'3','3','3',100,'0');    
INSERT INTO tb values(BASENUM-Y,'3','3','3',100,'0');
y := y + 1;
END LOOP;

basenum := basenum + 100;
y := 0;
END LOOP;
END;
END;
Eric_1999 2007-03-30
  • 打赏
  • 举报
回复
有很多语法错误。
hongqi162 2007-03-29
  • 打赏
  • 举报
回复
汗!~~~ 收回我上边说的

CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST
(
ED_NUM IN NUMBER --//700000000
)
IS
BEGIN
DECLARE
A NUMBER;
BASENUM NUMBER;
I NUMBER;
Y NUMBER;
begin
a:=0;
basenum:=0;
i:=0;
y:=0;
FOR A in 0..ED_NUM/100 LOOP
I:= 100*A;
FOR I in 0..(100*A+50) LOOP
INSERT INTO tb values(i,'3','3','3',100,'0');    
INSERT INTO tb values(BASENUM-Y,'3','3','3',100,'0');
Y:=Y+1;
END LOOP;
BASENUM := BASENUM+100;
Y:=0;
END LOOP;
END;
End;
hongqi162 2007-03-29
  • 打赏
  • 举报
回复
没有语法错误,,不知道你得这个存储过程需要执行多长时间。。700000000。。。
letqqqgo 2007-03-29
  • 打赏
  • 举报
回复
没看出有问题呀

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧