본문 바로가기
IT 자료

오라클 뷰 안에 파라미터 넣기

by 성곤 2018. 10. 2.
반응형

오라클 뷰 안에 파라미터 넣기


일단은, 오라클 뷰 안에 파라미터를 넣을 수 없습니다.


하지만, 편법을 사용하면 파라미터를 보낼 수 있습니다.






1
2
3
4
5
6
7
8
9
10
/* 파라미터를 전송할 FUNCTION을 만들어줍니다.
    DBeaver에서 안 만들어짐. sql developer나 그 외에서 실행함 
*/
CREATE OR REPLACE FUNCTION USER1.SET_PARAM (V_PARAM VARCHAR2)
   RETURN INTEGER
AS
BEGIN
   DBMS_APPLICATION_INFO.SET_CLIENT_INFO(V_PARAM);
   RETURN 1;
END SET_PARAM;
cs






1
2
3
4
5
6
7
8
9
/*
    뷰를 만들어줍니다.
*/
CREATE VIEW USER1.V_TEST
AS
    SELECT 
        /* 파라미터가 들어갈 곳에 SYS_CONTEXT('USERENV', 'CLIENT_INFO')를 넣어준다.*/
        SYS_CONTEXT('USERENV''CLIENT_INFO') AS TEST
    FROM DUAL
cs





1
2
3
4
5
/* 뷰를 조회합니다.
   WHERE절의 SET_PARAM() 부분에 파라미터를 꼭 넣어줘야합니다.
*/
SELECT * FROM USER1.V_TEST
WHERE 1 = SET_PARAM('PARAM_TEST') /* 필수 */
cs




끝!



나중에는 DBMS_SESSION.SET_CONTEXT를 사용해봐야겠다.


반응형