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

Wywołaj procedurę składowaną z sqlplus

Drugim parametrem twojej procedury jest OUT parametr -- jego wartość zostanie przypisana do zmiennej przekazanej po zakończeniu procedury. Nie możesz więc użyć wartości dosłownej dla tego parametru.

Możesz zadeklarować zmienną bind po znaku zachęty SQLPlus i użyć jej:

-- Declare bind variable
VARIABLE x NUMBER

-- If necessary, initialize the value of x; in your example this should be unnecessary
-- since the value of the second parameter is never read
EXEC :x := 1

-- Call the procedure
EXEC testproc(12, :x)

-- Print the value assigned to the bind variable
PRINT x

Alternatywnie możesz użyć anonimowego bloku PL/SQL:

-- Activate client processing of dbms_output buffer
SET SERVEROUTPUT ON

-- In anonymous block, declare variable, call procedure, print resulting value
DECLARE
  x NUMBER;
BEGIN
  testproc(12, x);
  dbms_output.put_line( x );
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kryteria hibernacji dla dat

  2. Zwracanie kursora referencyjnego Oracle i dołączanie wielu wyników

  3. Nie można załadować pliku lub zestawu „Oracle.DataAccess” 64-bitowy ODP.NET

  4. Błąd Podczas łączenia się z Oracle, TNS:listener nie wie aktualnie o żądanej usłudze w deskryptorze połączenia

  5. java.sql.SQLException:ORA-06550:po wywołaniu procedury z kodu java