스키마 전 오브젝트에 값이 있는 테이블을 조회 0 3 1,787

by 블루스 [SQL Query] SQL XML QUERY 컬럼값 컬럼값조회 [2020.04.06 12:45:38]


IT에 종사하느라 고생 많습니다. 

스키마 전 오브젝트에 특정 값이 있는 테이블을 조회라는 요건을

한방 SQL로 작성할 수 있는지 문의 드립니다. 

기능 요건 >

1. 한 스키마에서 전 테이블에 회사코드가 있는 테이블을 조회

2. 1의 조건의 결과 테이블 중에 회사코드 값이 'A0001' 값이 있는 테이블만 조회 

위의 2가지 요건을 한 쿼리로 할 수 있는지 문의 드립니다.

안되면, 나누어서 쿼리를 하는 방법을 문의 드립니다.

답변 기다리겠습니다.

좋은 하루 되십시오.

by 마농 [2020.04.06 13:16:13]
SELECT /*+ ordered_predicates */ tname
  FROM col
 WHERE cname = 'COM_CODE'
   AND coltype LIKE '%CHAR%'
   AND TO_NUMBER(
       dbms_xmlgen.getxmltype(
       'SELECT 1 FROM '||tname||' WHERE '||cname||' = ''A0001'' AND ROWNUM = 1'
       ).Extract('//text()')
       ) = 1
;
-- http://gurubee.net/article/61164 --

 


by 블루스 [2020.04.06 21:13:32]

답변 감사합니다. 그대로 복사해서 실행을 했는데, 아래와 같이 에러가 나서 재확인 부탁 드립니다.

ORA-19202: XML 처리
ORA-00933: SQL 명령어가 올바르게 종료되지 않았습니다
 중 오류가 발생했습니다.
ORA-06512: "SYS.DBMS_XMLGEN",  288행
ORA-06512: "SYS.DBMS_XMLGEN",  237행
ORA-06512: "SYS.DBMS_XMLGEN",  280행
ORA-06512:  1행
19202. 00000 -  "Error occurred in XML processing%s"
*Cause:    An error occurred when processing the XML function
*Action:   Check the given error message and fix the appropriate problem


by 마농 [2020.04.06 23:33:10]

참조 url 댓글 확인해 보세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입