2014-09-26 2 views
0

plsql의 테이블 및 컬럼 별명이 있는지 알고 싶습니다. 나는이 (의사) 같은 것을하고 싶지 :PL/SQL 테이블 및 컬럼 별명

if (foo) 
then 
    alias bla_table = tablenameA 
    alias bla_column = coulmnnameA 
else 
    alias bla_table = tablenameB 
    alias bla_column = coulmnnameB 
end 

select bla_column from bla_table; 

답변

2

유사한 효과를 보관하는 몇 가지 방법이 있습니다; 아마도 가장 쉬운 방법은 커서를 선언하고 if 경로에 따라 다른 쿼리를 위해 커서를 여는 것입니다. Oracle Documentation에서 촬영

예 :

CREATE PACKAGE emp_data AS 
    TYPE EmpCurTyp IS REF CURSOR RETURN emp%ROWTYPE; 
    PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp, choice IN INT); 
END emp_data; 

CREATE PACKAGE BODY emp_data AS 
    PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp, choice IN INT) IS 
    BEGIN 
     IF choice = 1 THEN 
     OPEN emp_cv FOR SELECT * FROM emp WHERE comm IS NOT NULL; 
     ELSIF choice = 2 THEN 
     OPEN emp_cv FOR SELECT * FROM emp WHERE sal > 2500; 
     ELSIF choice = 3 THEN 
     OPEN emp_cv FOR SELECT * FROM emp WHERE deptno = 20; 
     END IF; 
    END; 
END emp_data; 
+0

감사합니다! 그게 효과가있어! – user30137