//(1)存储过程delete_test
create or replace procedure delete_test(
p_done_code IN number
)
as
strSql varchar2(1024);
begin
strSql := 'delete from a where done_code = '||p_done_code;
execute immediate strSql;
commit;
exception
when no_data_found then
null;
end;
//(2)存储过程test
create or replace procedure test(
p_sql IN varchar2
) as
begin
execute immediate p_sql;
exception
when no_data_found then
null;
end;
//(3)执行语句
exec test_edc('call delete_edc_date(10000016024750)');以上是我存储过程创建的语句:(1)、(2),和执行语句:(3),请问下,但是报错,错误信息:ORA-06550: 第 2 行, 第 7 列:
PLS-00905: 对象 aaa.TEST 无效
ORA-06550: 第 2 行, 第 7 列:
PL/SQL: Statement ignored问题:
(1)请问下是否可以通过这样的方式调用另外个存储过程?
(2)如果存在,那么该如何写呢?
create or replace procedure delete_test(
p_done_code IN number
)
as
strSql varchar2(1024);
begin
strSql := 'delete from a where done_code = '||p_done_code;
execute immediate strSql;
commit;
exception
when no_data_found then
null;
end;
//(2)存储过程test
create or replace procedure test(
p_sql IN varchar2
) as
begin
execute immediate p_sql;
exception
when no_data_found then
null;
end;
//(3)执行语句
exec test_edc('call delete_edc_date(10000016024750)');以上是我存储过程创建的语句:(1)、(2),和执行语句:(3),请问下,但是报错,错误信息:ORA-06550: 第 2 行, 第 7 列:
PLS-00905: 对象 aaa.TEST 无效
ORA-06550: 第 2 行, 第 7 列:
PL/SQL: Statement ignored问题:
(1)请问下是否可以通过这样的方式调用另外个存储过程?
(2)如果存在,那么该如何写呢?
解决方案 »
- 如何用查询得到的时间与系统当前时间进行比较并输出
- oracle的数据类型number??
- 跪求CNOUG注册邀请码
- oracle建表的问题
- 请问oracle中的如何通过sql语句查询出该用户可以访问的表 ,以及如何根据表得到其列
- 在windows 2000 server上能不能安装两个版本的Oracle,比如说是8i和9i?
- 学ORACLE要懂多少网络???
- 请大侠帮助小弟如何在pl/sql程序中调用?
- 提问一个Oracle数据库字符集的问题
- 右连接中,如何使用函数,如字符窜等等
- oa系统中突然提示SqlException错误,请大拿们帮我分析一下。不胜感激!!!!
- oracle的优化,优化分页的查询速度
test_edc('delete_edc_date(10000016024750)');
end;
/
可以
(2)如果存在,那么该如何写呢?CREATE OR REPALCE PROCEDURE PRO_TEST1
AS
BEGIN
NULL;
END;
/CREATE OR REPLACE PROCEDURE PRO_TEST2
(P_SQL1 IN VARCHAR2)
AS
EXECUTE IMMEDIATE P_SQL1;
END;
/DECLARE
BEGIN
PRO_TEST2(' DECLARE BEGIN PRO_TEST1; END; ');
END;
/