Oracle 具有聚合的null计数

Oracle 具有聚合的null计数,oracle,Oracle,在Oracle中,我有一个查询表并将两个字段写入变量的存储过程。问题是Oracle将在不返回任何内容时抛出错误。这是我的密码 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

在Oracle中,我有一个查询表并将两个字段写入变量的存储过程。问题是Oracle将在不返回任何内容时抛出错误。这是我的密码

  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_请求_头未找到ORA-06512:第13行错误表明问题在于表lv_请求_头不存在或过程的所有者无权访问它。如果过程所有者以外的用户拥有此表,则可能需要使用架构名称限定表名,或者为对象创建同义词

一般来说,如果你想处理一个选择。。。在返回0行的语句中,您需要指定在这种情况下两个局部变量的值。如果希望empcount为0,empname为NULL,可以执行以下操作

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;

如何将空白记录放入变量?第1行错误:ORA-20000:lv_请求_头未找到ORA-06512:第13I行有更多代码出现在select into查询之后。我的问题是,异常处理是在整个过程的底部进行的,还是我的剩余代码会在执行处理之后进行?@user1345246-异常处理程序是BEGIN的一部分。。。端块。因此,假设您将SELECT语句包装在它自己的PL/SQL块中,执行将继续执行下一行代码,正如我在这里所做的那样。