1. 首页 > ITPUX技术网 > 正文

PL/SQL变量命名最好不要和静态sql里的字段名称相同

以前没怎么学过PL/SQL,最近要写几个存储过程,于是就参照官方文档写了起来,原本以为简单的几个存储过程,折腾了一天,一直被一个问题纠结:
当时写了个function , 放在一个 package里面 方法里面的内容跟下面等价:

declare
customer_tname varchar2(40):=’xxxxxxxxxxxxxxxxxx’;
v_cust_tid varchar2(40); –数据模版ID
begin
select ct.CUSTOMER_TID
into v_cust_tid
from TBL_CUSTOMER_TEMPLATES ct
where ct.CUSTOMER_TNAME = customer_tname;
dbms_output.put_line(v_cust_tid);
end;

编译是没问题的,但执行时就报错,说返回了不止一行,我在数据库里根据条件查询了一下,确实只有一行,非常纳闷!
后来几经调整,才发现是由于我声明的变量名称和我查询条件里的字段名称一样了,将声明里的变量名称改变一下后就好了

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息