调用 oracle 10g 包内的过程
call procedure which is inside a package in oracle 10g
如何在 oracle 10g 中调用包内的过程。
我有一个名为 "area" 的两个过程,它有一个参数,另一个也是 "area" 但有 3 个参数。简而言之,程序在包 "shapearea".
内超载
create or replace package shapearea is
procedure area(l in number);
procedure area(l in number,b in number,h in number);
end;
create or replace package body shapearea is
procedure area (l in number) is
begin
dbms_output.put_line('Area of '||'l'||' lengh circle is'||l*l);
end;
procedure area (l in number,b in number,h in number) is
begin
dbms_output.put_line('Area of '||'l'||' lengh ractangle is'||l*b*h);
end;
end;
我试过了
execute shapearea.area(5);
exec shapearea.area(5);
call shapearea.area(5);
shapearea.area(5);
但它在 oracle 10g 中不起作用。
如果您使用的是 SQL*Plus,请尝试:
set serveroutput on
Begin
shapearea.area(5);
end;
/
如果您使用的是 SQL Developer,您需要显示 DBMS_Output window 并为您正在使用的连接启用它。
DBMS_OUTPUT
实际上不会自己写入您的显示器。实际上它只是将输出缓冲到一些内部数据结构,然后在 SQL*Plus 的情况下,SET SERVEROUTPUT ON
使客户端例程能够检索输出。在 SQL 开发人员显示 DBMS 输出 window 并为您正在使用的连接启用它的情况下,启用它的客户端显示例程。
对于其他环境,您可能需要使用 GET_LINE
and/or GET_LINES
DBMS_OUTPUT
functions.
以编程方式读出缓冲结果
如何在 oracle 10g 中调用包内的过程。 我有一个名为 "area" 的两个过程,它有一个参数,另一个也是 "area" 但有 3 个参数。简而言之,程序在包 "shapearea".
内超载create or replace package shapearea is
procedure area(l in number);
procedure area(l in number,b in number,h in number);
end;
create or replace package body shapearea is
procedure area (l in number) is
begin
dbms_output.put_line('Area of '||'l'||' lengh circle is'||l*l);
end;
procedure area (l in number,b in number,h in number) is
begin
dbms_output.put_line('Area of '||'l'||' lengh ractangle is'||l*b*h);
end;
end;
我试过了
execute shapearea.area(5);
exec shapearea.area(5);
call shapearea.area(5);
shapearea.area(5);
但它在 oracle 10g 中不起作用。
如果您使用的是 SQL*Plus,请尝试:
set serveroutput on
Begin
shapearea.area(5);
end;
/
如果您使用的是 SQL Developer,您需要显示 DBMS_Output window 并为您正在使用的连接启用它。
DBMS_OUTPUT
实际上不会自己写入您的显示器。实际上它只是将输出缓冲到一些内部数据结构,然后在 SQL*Plus 的情况下,SET SERVEROUTPUT ON
使客户端例程能够检索输出。在 SQL 开发人员显示 DBMS 输出 window 并为您正在使用的连接启用它的情况下,启用它的客户端显示例程。
对于其他环境,您可能需要使用 GET_LINE
and/or GET_LINES
DBMS_OUTPUT
functions.