PLSQL执行存储过程?

jiaguwen123 2009-07-29 12:38:45
你好,请问在PLSQL中怎样执行存储过程名为:create or replace procedure A(i out varchar2,j in number,k in varchar2)
的存储过程?并显示出out参数i的值?
...全文
13954 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suncrafted 2009-07-29
  • 打赏
  • 举报
回复
SQL> CREATE OR REPLACE PROCEDURE A(I OUT VARCHAR2,
2 J IN NUMBER,
3 K IN VARCHAR2) AS
4 BEGIN
5 I := TO_CHAR(J) || K;
6 END;
7 /

Procedure created

SQL> SET SERVEROUTPUT ON
SQL>
SQL> DECLARE
2 v_i VARCHAR2(2000);
3 BEGIN
4 A(v_i,123,'ABC');
5 DBMS_OUTPUT.put_line(V_I);
6 END;
7 /

123ABC

PL/SQL procedure successfully completed

SQL>
jiaguwen123 2009-07-29
  • 打赏
  • 举报
回复
用命令呢?
opps_zhou 2009-07-29
  • 打赏
  • 举报
回复
右键点你的存储过程名,选择 test 就可以打开一个测试窗口,然后在下方输入参数,按 F8 执行即可看到
csuxp2008 2009-07-29
  • 打赏
  • 举报
回复
过程创建好之后

declare一个变量,用来接收过程的输出参数的值
bzcnc 2009-07-29
  • 打赏
  • 举报
回复
关于存储过程的执行,都是在命令窗口中执行的,或者使用PLSQL DEVELOPER左侧的导航栏,选中相应的存储过程中,然后点击右键,点击执行就可以了。
inthirties 2009-07-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 inthirties 的回复:]
换个方式

SQL>variable v_i varchar2(2000);
SQL>execute A(v_i,123,'ABC');
SQL>print :v_i;
[/Quote]

修改一下 第二行应该是:v_i,不是v_i
SQL>variable v_i varchar2(2000);
SQL>execute A(:v_i,123,'ABC');
SQL>print :v_i;
inthirties 2009-07-29
  • 打赏
  • 举报
回复
换个方式

SQL>variable v_i varchar2(2000);
SQL>execute A(v_i,123,'ABC');
SQL>print :v_i;

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧