请问在一个已经创建好的package里面创建存储过程该如何弄啊

2025-04-13 22:56:01
推荐回答(2个)
回答1:

PACKAGE分SPEC和body两部分:

1.SPEC是声明部分:
CREATE OR REPLACE PACKAGE pk_a
IS
procedure p_test(i_name in varchar2,o_result out varchar2);
end pk_a;

2.BODY是功能实现部分:
CREATE OR REPLACE PACKAGE body pk_a
IS
procedure p_test(i_name in varchar2,o_result out varchar2)
is
begin
dbms_output.put_line('输入参数为:'||i_name);
o_result := i_name;
end;
end pk_a;

3.调用示例:
declare v_result varchar2(50);
begin
pk_a.p_test('aa',v_result);
end;

一楼说的是新创建一个package吧,在老package里面创建新的存储过程呢,
------------------------------------------------
哎..哥们,有点无语了
照画葫芦就可以啦
在声明部分增加类似
"procedure p_test(i_name in varchar2,o_result out varchar2);"
的声明

在功能实现部分增加类似
"
procedure p_test(i_name in varchar2,o_result out varchar2)
is
begin
dbms_output.put_line('输入参数为:'||i_name);
o_result := i_name;
end;
"
这样就可以了嘛

回答2:

如一楼,

加存储过程一样加入
声明及body

注意顺序