프로그래밍/데이터베이스

모든 테이블 중 특정하여 자료 검색하기

2016. 2. 29. 10:36

정말 가~끔 모든 테이블의 데이터를 검색하고 싶을때가 있다.

예를들면.. NAME이라는 컬럼에 들어있는 '홍길동'이라는 데이터를 전부 찾고 싶을때?

 

USE [DATABASE_NAME]    --데이터베이스 이름

DECLARE @TABLE    NVARCHAR(50) = '',
        @COLUMN NVARCHAR(50) = '',
        @ROWC    INT    = 9999,
        @ANS    NVARCHAR(50) = '',
        @QUR    NVARCHAR(999) = ''

    --LIKE %컬럼이름%을 만족하는 컬럼을 가진 모든 테이블 조회
    SELECT ROW_NUMBER() OVER (ORDER BY B.NAME) [ROW_NUM], B.NAME [TABLENM], A.NAME [COLUMNNM],
           TYPE_NAME(A.system_type_id) [TYPE_NM], A.SYSTEM_TYPE_ID [TYPE_CD]
      INTO #TEMP_TABLE
      FROM SYS.COLUMNS A
      LEFT JOIN SYS.OBJECTS B ON A.OBJECT_ID = B.OBJECT_ID
     WHERE A.NAME LIKE '%컬럼이름%'
       AND A.SYSTEM_TYPE_ID IN (167, 231)    --VARCHAR와 NVARCHAR 타입의 컬럼만 조회
     ORDER BY B.NAME
     
       SET @ROWC = @@ROWCOUNT

--검색된 자료를 가지고 모든 테이블 검색
WHILE @ROWC > 0
BEGIN
    SELECT @TABLE = TABLENM, @COLUMN = COLUMNNM
      FROM #TEMP_TABLE
     WHERE ROW_NUM = @ROWC

      --실행. 검색할 조건 ㅓㄹ정
      EXEC ('SELECT ' + @COLUMN + ', ''' + @TABLE + ''' FROM ' + @TABLE + ' WHERE ' + @COLUMN + ' = ''검색할 조건''');
    
    IF @@ROWCOUNT > 0
        SET @ANS = @TABLE    --해당하는 테이블이름을 저장

    SET @ROWC = @ROWC - 1
END

SELECT @ANS

DROP TABLE #TEMP_TABLE

 

 

반응형

'프로그래밍 > 데이터베이스' 카테고리의 다른 글

프로시저 내용 전체 검색하는 방법  (0) 2021.04.17
SSMS에서는 빠른데 적용하면 느릴경우  (0) 2021.04.16
서버의 CPU 사용률 확인하는 쿼리  (0) 2021.04.15
현재 실행중인 프로시저 이름 가져오기 (로그 기록할때 유용하다)  (0) 2021.04.14
데이터베이스, 테이블, 컬럼을 쿼리로 검색 하는 방법  (0) 2016.02.24
'프로그래밍/데이터베이스' 카테고리의 다른 글
  • SSMS에서는 빠른데 적용하면 느릴경우
  • 서버의 CPU 사용률 확인하는 쿼리
  • 현재 실행중인 프로시저 이름 가져오기 (로그 기록할때 유용하다)
  • 데이터베이스, 테이블, 컬럼을 쿼리로 검색 하는 방법
최봉구
최봉구
개발자용 메모로그, 가끔 리뷰도
최봉구
봉로그
최봉구
전체
오늘
어제
  • 분류 전체보기 (49)
    • 블로그 (16)
      • 블로그 정보 (2)
      • 사진 및 여행 (5)
      • 글쓰기 연습 (9)
    • 사이드 프로젝트 (2)
      • 디자인시스템 (1)
      • 키움증권 자동거래 프로그램 (1)
    • 프로그래밍 (16)
      • 개발도구 (2)
      • 데이터베이스 (11)
      • 윈도우 프로그래밍 (0)
      • 웹 개발 (0)
      • IoT (1)
      • Python (1)
    • 리뷰 (9)
      • 책 (4)
      • 제품 (5)
    • 자기개발 (3)
      • 일기는 블로그에 (0)
      • 인터넷 강의 (3)
    • 포스팅 백업 (2)
      • 게임 (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • MS-SQL
  • 개발자
  • 글쓰기
  • 게으름이란
  • 개발자 퇴사이유
  • sql
  • DCP-T710W
  • 별구경
  • 사진
  • msSQL
  • 브런치
  • 고양이
  • brother
  • 동탄호수공원
  • 설봉공원 밥집
  • 일기는 다이어리에
  • 언어 새로배우기
  • 슈퍼해빗
  • 게으름 해결
  • 퇴사 원인

최근 댓글

최근 글

hELLO · Designed By 정상우.
최봉구
모든 테이블 중 특정하여 자료 검색하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.