sql >> Databasteknik >  >> RDS >> Oracle

Anrop lagrad procedur från sqlplus

Den andra parametern i din procedur är en OUT parameter -- dess värde kommer att tilldelas variabeln som skickas när proceduren är klar. Så du kan inte använda ett bokstavligt värde för denna parameter.

Du kan deklarera en bindningsvariabel vid SQLPlus-prompten och använda den:

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

Alternativt kan du använda ett anonymt PL/SQL-block:

-- 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. Beskriv resultatuppsättningen i PostgreSQL?

  2. Returnera SETOF rader från PostgreSQL-funktionen

  3. google maps js v3 xml är null

  4. Är kapslade parenteser i FROM-satsen giltig Oracle SQL-syntax?