oracle存储过程中-----PLS-00103:出现符号“/”在需要下列之一时:(

本文详细介绍了在Oracle中编写存储过程时遇到符号‘/’错误的原因,并提供了解决方法。通过分析代码片段,解释了为什么变量名不能使用关键字,并给出了一段修改后的正确代码实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle中编写一存储过程:出现如下错误,

PLS-00103:出现符号“/”在需要下列之一时:(

经过各种谷歌百度,在存储过程中定义变量不允许使用关键字,而我定义了变量sum,导致错误。

经过编译后的过程代码为:

create or replace procedure avg_sal(result out char)
is	
i number(5);
summ number(20);	 
countnum number(20); 
begin	
	i:=10;
	while i<40 loop
		i:=	i+10;	
		select sum(salary),count(*) into summ countnum from emp where deptno=i;	
		result:=summ/countnum;
	end loop;
end;
/

declare 
i number(5);
sum_sal number(20); 
begin 
i:=10;
loop
exit when(i>30);
select sum(sal)/count(*) into sum_sal from emp  where deptno=i; 
dbms_output.put_line(i||'号平均工资:'||sum_sal); 
i:= i+10;
end loop; 
end;
/ 



CREATE OR REPLACE procedure FIRMJXGSCW.sync_bond_rating( errorCode out VARCHAR2(10), errorMsg out VARCHAR2(10) ) is begin -- 债券评级信息 merge into firmjxgscw.secuDBZQPJXXB t using ( select '-'|| TO_CHAR(sysdate,'yyyymmdd') || ROWNUM as ID, '0' EXCHANGE, '000000' SYMBOL,'000000' BONDSNAME, '2026-06-26' CREDITDATE, '主' RATETYPE, 'AAA' CREDITRATE, '测试' RATECOMNAME from dual ) s on (t.EXCHANGECODE = s.EXCHANGE and t.SECUCODE = s.SYMBOL and t.VALDATE = s.CREDITDATE and t.RATETYPE = s.RATETYPE and t.RATEAGENCY = s.RATECOMNAME ) when matched then update set t.SECUNAME = s.BONDSNAME, t.RATELEVEL = s.CREDITRATE, t.FLASTOPERATORCODE = 'system', t.FLASTOPERATEDATETIME = sysdate when not matched then insert (ID,EXCHANGECODE, SECUCODE, VALDATE, RATETYPE,RATEAGENCY,SECUNAME,RATELEVEL,FLASTOPERATORCODE,FLASTOPERATEDATETIME,VERSION) values (s.ID, s.EXCHANGE, s.SYMBOL, s.CREDITDATE, s.RATETYPE,s.RATECOMNAME,s.BONDSNAME,s.CREDITRATE,'system',sysdate,0); exception when no_data_found then -- 处理没有找到数据的异常 dbms_output.put_line('未找到符合条件的数据'); when others then -- 处理其他异常 dbms_output.put_line('发生错误: ' || sqlerrm); end sync_bond_rating; PLS-00103: 出现符号 "("在需要下列之一:= . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。 Compile error at line 2, column 24 PLS-00103: 出现符号 "("在需要下列之一:= . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。 Compile error at line 3, column 24 PLS-00103: 出现符号 "INTO"在需要下列之一:= . ( @ % ; <一个 SQL 语句> Compile error at line 9, column 7 PLS-00103: 出现符号 "USING"在需要下列之一( select values 符号 "select" 被替换为 "USING" 后继续。 ...
06-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值