create 执行存储过程报错出现符号_存储过程报错:PLS-00103: 出现符号 "("在需要下列之一时:...

展开全部

问题属于入参62616964757a686964616fe78988e69d8331333365633962类型错误:

plsql中procedure的入参类型,如果是number或varchar2的话不需要定义长度。否则编译不能通过。

plsql中procedure的入参类型,如果是number或varchar2的话不需要定义长度。否则编译不能通过。

改正这样:

create or replace procedure temp_prod_inst_ppp (vpn_lan_id in number)

把number(9)改成number。

改正后如下:

create or replace procedure temp_prod_inst_ppp (vpn_lan_id in number) is

vpn_sql varchar2(100);

vpn_commit_id number(10);

cursor cc is

select a.lan_id,a.acc_nbr,a.prod_inst_id,b.product_id from access_prod_inst a ,func_prod_inst b

where a.lan_id=vpn_lan_id and a.comp_inst_id=b.comp_inst_id and a.product_id in (80000045,80000048) and b.product_id in (80001307,80014967,80001308) and rownum<10 ;

t cc%rowtype;

begin

vpn_commit_id:=0;

vpn_sql:='insert into /*+append*/ temp_prod_inst_'||vpn_lan_id||' nologging(lan_id,acc_nbr,prod_inst_id,product_id)values(t.lan_id,t.acc_nbr,t.prod_inst_id,t.product_id)';

open cc;

loop fetch cc into t;

exit when cc%notfound;

execute immediate vpn_sql;

vpn_commit_id:=vpn_commit_id+1;

if mod(vpn_commit_id,5000)=0 then

commit;

end if;

end loop;

commit;

exception when others then rollback;

close cc;

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值