你好,请问在PLSQL中怎样执行存储过程名为:create or replace procedure A(i out varchar2,j in number,k in varchar2)
的存储过程?并显示出out参数i的值?

解决方案 »

  1.   

    右键点你的存储过程名,选择 test 就可以打开一个测试窗口,然后在下方输入参数,按 F8 执行即可看到
      

  2.   

    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> 
      

  3.   

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

  4.   


    修改一下 第二行应该是:v_i,不是v_i
    SQL>variable v_i varchar2(2000); 
    SQL>execute A(:v_i,123,'ABC'); 
    SQL>print :v_i;
      

  5.   

    关于存储过程的执行,都是在命令窗口中执行的,或者使用PLSQL DEVELOPER左侧的导航栏,选中相应的存储过程中,然后点击右键,点击执行就可以了。
      

  6.   

    过程创建好之后declare一个变量,用来接收过程的输出参数的值