Oracle
 sql >> Database >  >> RDS >> Oracle

Parametri OUT della procedura memorizzata Oracle

La tua domanda non è del tutto chiara. Un parametro IN OUT viene passato in entrambi i modi, come suggerisce il nome. Ciò significa che deve essere passata una variabile, non un valore letterale e per farlo è necessario un blocco di dichiarazione. Ad esempio:

declare
  l_segn number;
begin
  l_segn := 1;
  -- procedure will have received value = 1
  rifatt_segn0_ins(l_segn, 'x', 2, sysdate);
  -- procedure may have changed value of l_segn from 1 to something else
  dbms_output.put_line(l_segn); 
end;