You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle两表记录匹配:验证PL/SQL游标中查询语句的正确性

问题解答

游标中的SELECT查询语句逻辑是正确的,它能够精准定位违反业务规则的记录:即main_supplier表中file_id=1、process_id=2,且在addition_supplier表中存在相同file_id、process_id和supplier_code的供应商编码——这正是业务规则禁止的情况。

不过需要注意,这段PL/SQL代码除了SELECT语句外,还有其他语法和逻辑问题:

  • 游标定义缺少关键字is,正确写法应为:cursor c1 is select ta.supplier_code ...
  • 变量a未提前声明,需在代码开头添加a number;来定义变量类型
  • 循环无退出条件,会陷入无限循环,需在fetch后添加exit when c1%notfound;
  • 抛出异常的语法错误,raise error;不符合PL/SQL规范,应使用raise_application_error抛出自定义异常,例如:raise_application_error(-20001, '存在违反业务规则的供应商编码');

内容的提问来源于stack exchange,提问作者Ram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:10:31