Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да получите две върнати стойности от Oracle Stored Procedure

-- 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;
/

изходи: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. Получаване на първите 10 неизползвани номера на manual_sequence

  2. Как да получите дефиниция на таблица в Oracle?

  3. Как да добавите индикатора AD/BC към дата в Oracle

  4. Защо получавам отворена транзакция, когато просто избирам от изглед на база данни?

  5. Как да сравнявам низове в sql, игнорирайки главни и малки букви?