日期:2014-05-17  浏览次数:21038 次

oracle给变量赋值的问题,结果总是空
半天了还没解决,求大家帮助!
一个参数和两个变量:

pa_ibdoid nvarchar2

v_sql nvarchar2(50);
v_temp1 nvarchar2(50);

存储过程中写:

v_sql:=''''||pa_ibdoid||'-BH-%''';
execute immediate 'select max(ibooid) from busibo where ibooid like :1' into v_temp1 using v_sql;

结果v_temp1总是空的,不知道为什么?
oracle?

------解决方案--------------------

--单引号用多了
v_sql:=''''
------解决方案--------------------
pa_ibdoid
------解决方案--------------------
'-BH-%''';
--这一行改成
v_sql:=pa_ibdoid
------解决方案--------------------
'-BH-%';
--如果你在此处加上单引号,下面的using后面就不是一个变量了,而是一个固定字串,最终的like后面就是两重单引号。