首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有聚合的null计数

具有聚合的null计数
EN

Stack Overflow用户
提问于 2012-04-20 06:43:30
回答 1查看 118关注 0票数 0

在Oracle中,我有一个存储过程,用于查询表并将2个字段写入变量。问题是,当没有返回任何内容时,Oracle将抛出错误。以下是我的代码

代码语言:javascript
复制
  SELECT COUNT (empno),Name
    INTO empcount,empname
    FROM lv_request_header
   WHERE empno = emp 
     AND request_id = rqid
   GROUP BY empname

使用带有计数的NVL仍然会抛出错误

第1行出错: ORA-20000:找不到lv_request_header ORA-06512:第13行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-20 07:00:40

您发布的错误表明问题在于表lv_request_header不存在,或者过程的所有者无权访问它。如果该过程的所有者以外的用户拥有该表,则可能需要用模式名限定表名,或者为该对象创建一个同义词。

通常,如果要处理返回0行的SELECT ... INTO语句,则需要指定在这种情况下希望两个局部变量具有什么值。如果您希望empcount为0,而empname为NULL,则可以执行以下操作

代码语言:javascript
复制
BEGIN
  SELECT COUNT (empno),Name
    INTO empcount,empname
    FROM lv_request_header
   WHERE empno = emp 
     AND request_id = rqid
   GROUP BY empname
EXCEPTION
  WHEN no_data_found
  THEN
    empcount := 0;
    empname  := NULL;
END;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10237899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档