【发布时间】:2015-11-23 12:13:43
【问题描述】:
如何使用此查询获取值:
declare
status varchar2(4);
Num number:=0;
begin
select (SELECT MAX(a),b from table Where (id=2) group by b) into Num from dual;
end
我必须将两个列值都分配给声明的变量。以这种方式编写查询以避免找不到数据异常。
注意:-考虑到此查询将为两列返回 1-1 值.....所以请忽略 太多行异常...
【问题讨论】:
-
如果查询返回多条记录,则需要使用集合,请参见此处的示例stackoverflow.com/questions/33840685/…
-
如果实际上没有要获取的数据,为什么您不想获得
NO_DATA_FOUND异常? -
一般来说,如果你发现自己写了一个钝的sql语句(比如上面的)只是为了避免不得不处理一个错误,那么你可能是在为自己做一根棍子。尝试维护此类代码的人(包括您自己!)会想知道您在编写它时的想法。
-
如果您期望不止一行,您将需要一个集合。如果需要存储多个值,则需要另一个变量。
-
另外,一旦您获得查询结果,您将如何处理它们?
标签: oracle plsql oracle11g plsqldeveloper