create or replace procedure cp_test_function(
o_RtnVar in OUT VARCHAR2
)
as
v_sql VARCHAR2(200);
function getdisp
(form varchar2)
return varchar2
as
begin
if form='1' then
RETURN('1');
else
return('0');
end if;
end getdisp;BEGIN
v_sql := 'select getdisp(''1'') from dual';
execute immediate v_sql;
o_RtnVar := '成功';
end cp_test_function;
执行上面存储过程报错,说找不到函数getdisp。
但我若不是动态SQL,就又可以。而且我又不想把函数建在外面。
请问有方法实现吗?
o_RtnVar in OUT VARCHAR2
)
as
v_sql VARCHAR2(200);
function getdisp
(form varchar2)
return varchar2
as
begin
if form='1' then
RETURN('1');
else
return('0');
end if;
end getdisp;BEGIN
v_sql := 'select getdisp(''1'') from dual';
execute immediate v_sql;
o_RtnVar := '成功';
end cp_test_function;
执行上面存储过程报错,说找不到函数getdisp。
但我若不是动态SQL,就又可以。而且我又不想把函数建在外面。
请问有方法实现吗?
解决方案 »
- 求救高手
- 表空间中创建表的一些疑问
- 这个sql语句好怪,请高手指点
- 新建Job的时候出现的错误,帮忙看下怎么回事?
- oemctl start oms time out!!怎么办
- 装好pl/sql后登陆时,提示:TNS:没有监听器?
- 在oracle里面用怎样的命令将两个关系聚簇(cluster)在一起以加快连接查询的速度?
- PL/SQL Developer 中的Test怎么使用?,请高手指教一下,谢谢!
- oracle9i 中,创建一个用户后为什么不能用他登陆Enterprise Manager Console?
- oracle 日期相减好像无法得到 number
- 当insert失败后如何update,大家帮忙看看!
- 如何过滤出两行某列之差大于某个值的那些行
还是建包吧。