내가 user_tab_table에 제출 한 일반적인 얻기 위해 SQL을 만들 수 있고, 항목을 참조하십시오 : 나는 열 문자열을 가지고 너무oracle sql에서 user_tab_columns 선택으로 열을 선택하는 방법은 무엇입니까?
select SUBSTR (SYS_CONNECT_BY_PATH (COLUMN_NAME , ','), 2) into str
from (select COLUMN_NAME , ROW_NUMBER() over (order by COLUMN_NAME) RN,
COUNT (*) OVER() cnt
from USER_TAB_COLUMNS
where TABLE_NAME in('tb1','tb2')
group by COLUMN_NAME
having COUNT(*) >= 2
)
WHERE rn = cnt
start with RN = 1
connect by RN = prior RN + 1;
,하지만 그 후, 나는이에 적용 (또는 결합) 할 생각이 없다 sql :
select {result}
from tb1
order by filed2;
union
select {result}
from tb2
order by filed1;
어떤 사람이 나에게 몇 가지 팁을 줄 수 있습니까? thx for ...
내게 불분명 함. db1과 db2는 무엇입니까? SFS_APPLS 란 무엇입니까? –
OK, 맞습니다 –
동적으로 결정된 열의 행을 반환하는 PL/SQL 함수를 작성하려고합니까? 나는 이것이 가능하지 않다고 생각한다 - 적어도 SQL에서는 접근 할 수 없다. PL/SQL에 머무르는 한이 작업을 수행 할 수 있지만 그 결과로 수행 할 작업이 무엇인지 궁금합니다. 마지막 쿼리에서'ORDER BY' 절은 그 길에 불필요합니다. 그리고 어쨌든 filed1과 filed2는 무엇입니까? 이 열을 선택 하시겠습니까? 그리고 UNION은 결과에서 중복을 제거하기 위해 만들어진다. 이것은 정말로 의도 된 것입니까? 달성하고자하는 것을 알려주십시오. –