A라는 데이터베이스에 있는 모든 테이블의 컬럼 데이터 중 "change_text" 라는 문자열이 들어있는 컬럼을 모두 추출하고 싶을 때 어떻게 쿼리를 해야 할지 감이 오질 않습니다.;;
도움 부탁 드리겠습니다.
오라클 샘플도 괜찮지만 ms-sql이면 더 좋을 것 같습니다.
by 마농
[2013.09.25 10:58:46]
-- 문자타입 컬럼중 검색어(특정문자열)가 저장되어 있는 테이블, 컬럼 찾기 --
SELECT tname, cname
FROM col
WHERE coltype LIKE '%CHAR%'
AND TO_NUMBER(
dbms_xmlgen.getxmltype(
'SELECT 1 FROM '||tname||' WHERE '||cname||' LIKE ''%검색어%'' AND ROWNUM = 1'
).Extract('//text()')
) = 1
;
by 웁스
[2013.09.25 11:19:12]
답변 감사합니다. 혹시 ms-sql로 대체할 수 있는 쿼리 tip은 없나요?
by 우리집아찌
[2013.09.25 11:21:12]
요렇게 짜봤는데 에러남 ㅜㅜ WHERE 조건절빼면 잘되네요 멀까요?
SELECT * FROM
(SELECT table_name
, COLUMN_NAME
, TO_NUMBER(
dbms_xmlgen.getxmltype('SELECT COUNT(*) FROM ' || table_name || ' WHERE '|| COLUMN_NAME || '= ''admin'' ').Extract('//text()')
) cnt
FROM USER_TAB_COLUMNS
WHERE DATA_TYPE = 'VARCHAR2'
) WHERE CNT > 0
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.