2013-02-01 19 views
13

Ho creato uno procedura memorizzati in Oracle:recupera i parametri dalla stored procedure?

PROCEDURE string_opp(input_string IN varchar2,output_string OUT varchar2) 

Ora il problema è come eseguire questa stored procedure e recuperare il parameter.i've uscita seguita in SQL Developer:

SET SERVEROUTPUT ON 
DECLARE 
    outputString VARCHAR; 
BEGIN 
    EXEC string_opp('input String',:outputString); 
END; 

Quando ho provato questo non ho ottenuto nulla, qualcuno potrebbe aiutarmi?

risposta

8

Solo un paio di questioni:

SET SERVEROUTPUT ON 
DECLARE 
    outputString VARCHAR(20); 
BEGIN 
    string_opp('input String', outputString); 
    dbms_output.put_line(outputString); 
END; 

si può usare come la stessa variabile:

SET SERVEROUTPUT ON 
DECLARE 
    outputString VARCHAR(20); 
BEGIN 
    outputString := 'input String'; 
    string_opp(outputString); 
    dbms_output.put_line(outputString); 
END; 

Basta definire il vostro parametro procedura IN OUT al posto del proprio OUT.

Controllare questa risorsa:

http://psoug.org/snippet/FUNCTIONS-IN-OUT-parameter_873.htm

+2

grazie amico, ok come posso usare in out parametro come la stessa variabile ?! –

+0

Appena aggiornato la risposta. Qualsiasi domanda, per favore dimmi :) – gustavodidomenico

+0

Puoi accettare la risposta se è adatta al tuo problema. – gustavodidomenico

2

diciamo:

Se avete procedura di memorizzazione con il parametro di uscita:

Create procedure test(name out varchar2(50)) 
as 
begin 
name:='testing output parameter'; 
-- dbms_output.put_line('Output parameter value ' || name); 
end; 

Ora eseguire la procedura descritta sopra:

declare 
l_name varchar2(50); 
begin 
test(l_name); 
dbms_output.put_line('name = ' || l_ename); 
end; 
Problemi correlati