存储过程编译报错求助:含年龄和姓名参数的员工表更新存储过程
存储过程编译错误的修复方案
你的存储过程存在3处语法/逻辑问题,导致编译失败:
- 参数列表中,参数之间的分隔符错误:应该用逗号(
,)而非分号(;) varchar2类型的输入参数不能指定长度,存储过程参数定义里只需写varchar2即可,加长度属于语法错误- 末尾的
ROLLBACK语句会直接撤销更新操作,若要保留修改结果,可替换为COMMIT(手动提交事务),或者直接删除该语句(依赖系统事务自动提交机制)
修正后的存储过程代码:
CREATE OR REPLACE PROCEDURE update_emp_age ( v_age in number, v_ename in varchar2 ) AS BEGIN UPDATE employee SET eage = v_age WHERE ename = v_ename; -- 如需手动提交事务,取消下方注释 -- COMMIT; END;
内容的提问来源于stack exchange,提问作者kiric8494
相关产品推荐
相关产品推荐

