在PL / SQL中可以向此函数添加什么EXCEPTION?

时间:2017-03-05 01:17:03

标签: plsql oracle11g

此功能用于返回购物者使用其ID的订单总数。每次我尝试抛出异常时,都没有任何反应。它将返回一个空值。例如,BB_BASKET中不存在IDSHOPPER = 19,所以我认为如果lv_total_orders = 0,我可以抛出异常,但它仍然返回空值,DBMS_OUTPUT.PUT_LINE不会在输出中显示任何内容。如果我要使用BB_BASAKET中不存在的IDSHOPPER,是否有人可以建议如何为此函数抛出异常?这是我班级的家庭作业,但我做了大部分的工作,除了需要的例外。我找不到任何暗示如何执行异常的内容。

Swift

1 个答案:

答案 0 :(得分:1)

聚合函数始终返回单行,即使没有符合条件的行也是如此。您可以查看this article

因此,如果要抛出异常,可以使用raising exceptions explicitly。 在你的代码中,在return语句之前:

  if lv_total_orders is null then 
     raise_application_error(-20200, 'No data found for given ShopperID, ShopperID: ' || p_shopper);
  end if;