比如一个存储过程Create or replace procedure Proc_getDepMaxSal(Depid out integer),我要调用这个存储过程,那我给他参数么?out不是作为输出么?那我比如getDepMaxSal(a)这个a的话值没有意义是么?那可以不传参数么?
OUT 参数必须传入的, 下面是一个 OUT 与 IN OUT 参数使用的例子。SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 (2 p_user_name IN VARCHAR2,3 p_out_val OUT VARCHAR2,4 p_inout_val IN OUT VARCHAR25 ) AS6 BEGIN7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');8 p_out_val := 'A';9 p_inout_val := 'B';10 END HelloWorld2;11 /Procedure created.SQL> DECLARE2 p_outval VARCHAR2(10);3 p_inoutval VARCHAR2(10) := '~Hi~';4 BEGIN5 HelloWorld2('Edward', p_outval, p_inoutval);67 dbms_output.put_line('p_outval=' || p_outval);8 dbms_output.put_line('p_inoutval=' || p_inoutval);9 END;10 /Hello Edward~Hi~!p_outval=Ap_inoutval=BPL/SQL procedure successfully completed.