Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uzyskać dwie wartości zwracane z procedury składowanej Oracle?

-- IN arguments : you get them. You can modify them locally but caller won't see it
-- IN OUT arguments: initialized by caller, already have a value, you can modify them and the caller will see it
-- OUT arguments: they're reinitialized by the procedure, the caller will see the final value.
CREATE PROCEDURE f (p IN NUMBER, x IN OUT NUMBER, y OUT NUMBER)
IS
BEGIN
   x:=x * p;
   y:=4 * p;
END;
/

SET SERVEROUTPUT ON

declare
   foo number := 30;
   bar number := 0;
begin
   f(5,foo,bar);
   dbms_output.put_line(foo || ' ' || bar);
end;
/

wyjścia:150 20



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje odpowiednik LITAGG WITHIN GROUP w SQLAlchemy?

  2. Wydajna konwersja OracleDecimal na .NET dziesiętna z obcięciem

  3. Zaktualizuj za pomocą wyzwalacza po wstawieniu na tym samym stole

  4. SET SQLBLANKLINES:Jak zezwolić na puste wiersze w SQLcl i SQL*Plus

  5. Oracle SQL - zwróć wartość domyślną, jeśli zapytanie nie zwraca wyników