我只有在存在数据时才需要选择局部变量.
SELECT column1 INTO local_variable FROM table1 where column2 = <condition>;
这里如果没有匹配条件的数据,我得到一个没有数据发现的错误.
解决方法
可能最好的方法是处理no_data_found
begin SELECT column1 INTO local_variable FROM table1 where column2 = p_val; exception when no_data_found then local_variable := null; end;
此外,如果您选择主键/唯一键(即column2是唯一的),那么您可以执行一些技巧
SELECT max(column1) INTO local_variable FROM table1 where column2 = p_val;