Exemple de procédure stockée Oracle SELECT INTO
Voici un exemple de procédure stockée SELECT INTO dans la base de données Oracle.
1. Script SQL de table
Script de création de table DBUSER.
CREATE TABLE DBUSER ( USER_ID NUMBER (5) NOT NULL, USERNAME VARCHAR2 (20) NOT NULL, CREATED_BY VARCHAR2 (20) NOT NULL, CREATED_DATE DATE NOT NULL, PRIMARY KEY ( USER_ID ) )
2. Procédure stockée
Une procédure stockée utilise le mécanisme SELECT INTO pour affecter les valeurs correspondantes aux paramètres OUT.
CREATE OR REPLACE PROCEDURE getDBUSERByUserId( p_userid IN DBUSER.USER_ID%TYPE, o_username OUT DBUSER.USERNAME%TYPE, o_createdby OUT DBUSER.CREATED_BY%TYPE, o_date OUT DBUSER.CREATED_DATE%TYPE) IS BEGIN SELECT USERNAME , CREATED_BY, CREATED_DATE INTO o_username, o_createdby, o_date from DBUSER WHERE USER_ID = p_userid; END; /
3. Appels de PL / SQL
Appel de PL / SQL comme ceci:
DECLARE o_username DBUSER.USERNAME%TYPE; o_createdby DBUSER.CREATED_BY%TYPE; o_date DBUSER.CREATED_DATE%TYPE; BEGIN getDBUSERByUserId(1001,o_username,o_createdby,o_date); DBMS_OUTPUT.PUT_LINE('username : ' || o_username); DBMS_OUTPUT.PUT_LINE('createdby : ' || o_createdby); DBMS_OUTPUT.PUT_LINE('createddate : ' || o_date); END; /
Result
L'enregistrement avec userId = 1001 est affiché via la procédure de stockage degetDBUSERByUserId
.