Пример хранимой процедуры Oracle SELECT INTO
Вот пример хранимой процедуры SELECT INTO в базе данных Oracle.
1. Скрипт таблицы SQL
Скрипт создания таблицы 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. Хранимая процедура
Хранимая процедура использует механизм SELECT INTO для присвоения совпадающих значений параметрам 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. Звонки из PL / SQL
Звоните из PL / SQL следующим образом:
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
Запись с userId = 1001 отображается через процедуру сохраненияgetDBUSERByUserId
.