储存过程 in invalid

xiatianPHP 2012-04-10 08:07:34
储存过程如下
create or replace procedure IC_GETSEQUENCENUM
(
SEQUENCENAME in varchar2(100),
SEQNUM out number
)
as
begin
select SEQUENCENAME.nextval into SEQNUM from dual;

end IC_GETSEQUENCENUM;


在PL/SQL里面建了,报上面的错

...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iqlife 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
储存过程如下
create or replace procedure IC_GETSEQUENCENUM
(
SEQUENCENAME in varchar2(100),
SEQNUM out number
)
as
begin
select SEQUENCENAME.nextval into SEQNUM from dual;

end……
[/Quote]

肯定报错啊,你是想得到序列的值吧,如果传入序列的名称的话,要用动态SQL执行才不会报错(execute immediate ......),不然认不到序列sequence的名称
秋雨飘落 2012-04-11
  • 打赏
  • 举报
回复
储存过程如下
create or replace procedure IC_GETSEQUENCENUM
(
SEQUENCENAME in varchar2(100),
SEQNUM out number
)
「已注销」 2012-04-10
  • 打赏
  • 举报
回复
1,一楼说了定义变量类型,不要加()大小
2,sequence需要定义,不是拿来就可以nextval的
ssqtjffcu 2012-04-10
  • 打赏
  • 举报
回复

create or replace procedure IC_GETSEQUENCENUM(SEQUENCENAME in varchar2,--(100), --这里只需要定义变量类型,不需要定义大小
SEQNUM out number) as
begin
select SEQUENCENAME.nextval into SEQNUM from dual;
end IC_GETSEQUENCENUM

17,377

社区成员

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

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