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

Извикайте съхранена процедура от sqlplus

Вторият параметър на вашата процедура е OUT параметър -- неговата стойност ще бъде присвоена на предадената променлива, когато процедурата приключи. Така че не можете да използвате буквална стойност за този параметър.

Можете да декларирате променлива за свързване в подканата на SQLPlus и да използвате това:

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

Като алтернатива можете да използвате анонимен 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. доктрина 2, където условие без сравнение

  2. Как да конвертирате часови зони в Oracle?

  3. проблем с хибернация на oracle10g

  4. Oracle 11g SQL за получаване на уникални стойности в една колона на заявка с няколко колони

  5. Връщане на заявка:ORA-01427 Подзаявка с един ред, връщаща повече от един ред