oracle自定义函数调用存储过程为空,把存储过程中的update注释就没问题了
hibernate发出的调用自定义函数的语句是selectget_name_by_code()ascol_0_0_fromdual在pl/sql中调试可以通过但是一调用就...
hibernate发出的调用自定义函数的语句是 select
get_name_by_code() as col_0_0_
from
dual 在pl/sql中调试可以通过 但是一调用就返回空
自定义函数
CREATE OR REPLACE FUNCTION get_Name_By_Code() RETURN VARCHAR2 IS
tmpVar VARCHAR2(3000);
BEGIN
p_app(tmpVar);--调用存储过程
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
WHEN OTHERS THEN
RETURN '';
END get_Name_By_Code;
--存储过程
create or replace procedure p_app( tmpVar OUT VARCHAR2) is
begin
update 表 set 字段 = 'aa' where 字段= 'bb';--update注释掉就行了
commit;
tmpVar := ‘结果集’;
end p_app; 展开
get_name_by_code() as col_0_0_
from
dual 在pl/sql中调试可以通过 但是一调用就返回空
自定义函数
CREATE OR REPLACE FUNCTION get_Name_By_Code() RETURN VARCHAR2 IS
tmpVar VARCHAR2(3000);
BEGIN
p_app(tmpVar);--调用存储过程
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
WHEN OTHERS THEN
RETURN '';
END get_Name_By_Code;
--存储过程
create or replace procedure p_app( tmpVar OUT VARCHAR2) is
begin
update 表 set 字段 = 'aa' where 字段= 'bb';--update注释掉就行了
commit;
tmpVar := ‘结果集’;
end p_app; 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询