Oracle 中如何给存储过程的参数赋值

core2 2009-01-14 10:14:43
我定义了一个存储过程,但是在调用的时候出现了问题,不知道如何传递参数

call myPro('123'); 提示参数的类型或个数错误


declare mystr varchar(20);
mystr:='123'; 提示在=号附近有语法错误
call myPro(mystr);

我该如何调用呢?
...全文
1011 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
linzi 2009-01-14
  • 打赏
  • 举报
回复
你一个过程会有多长?没遇到过,不知道Oracle的限制
watson110 2009-01-14
  • 打赏
  • 举报
回复
还没遇到过这个问题,那你就嵌套几个begin...end试试,格式如下:
begin
...
begin
end;
...
...
begin
end;
...
end;
core2 2009-01-14
  • 打赏
  • 举报
回复
begin和end之间的内容的多少是有限制的,当他们之间放置N个处理语句时,系统就会提示程序过大,这个限制在Oracle里能不能设置一下呢?
linzi 2009-01-14
  • 打赏
  • 举报
回复
是,这是一个程序块,包含定义部分、执行部分,定义部分用declare标识,执行部分用begin...end标识
core2 2009-01-14
  • 打赏
  • 举报
回复
begin...end必须加吗?
linzi 2009-01-14
  • 打赏
  • 举报
回复
declare
mystr varchar(20);
begin
mystr := '123';
call myPro(mystr);
end;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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