다른 데이터베이스의 테이블에서 데이터를 검색해야하는 경우 프로시저와 exec를 이용해 받아올 수 있습니다.
1. DB명이 고정되어있는 경우
1 2 3 4 5 6 7 8 9 10 | -- 데이터를 저장할 임시테이블 생성 create table # temp ( 필드명 자료형, 필드명 자료형 ... ) -- Exec와 프로시저를 이용해 다른 DB에 있는 테이블 검색한다. -- 프로시저는 검색할 테이블 DB에 미리 생성 되어 있어야한다. Insert # temp Exec [DB명].[dbo].[프로시저명] [전달할 인자] |
접기
예제.
1 2 3 4 5 6 7 8 9 | -- 데이터를 저장할 임시테이블 생성 create table # temp ( store_employee_serial varchar (10), store_employee_name varchar (10) ) -- Exec와 프로시저를 이용해 다른 DB에 있는 테이블 검색한다. -- 프로시저는 검색할 테이블 DB에 미리 생성 되어 있어야한다. Insert # temp Exec [store].dbo.proc_get_auth_confirm_employee @store_employee_serial |
접기
2. DB명이 동적인 경우
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -- 데이터를 저장할 임시테이블 생성 create table # temp ( 필드명 자료형, 필드명 자료형 ... ) -- 실행 명령어를 @sql 변수에 저장한다 -- Exec(변수)와 프로시저를 이용해 다른 DB에 있는 테이블 검색한다. -- 프로시저는 검색할 테이블 DB에 미리 생성 되어 있어야한다. Declare @sql varchar (1000) Set @sql = '[' + DB명+ '].dbo.프로시저명' + 전달할 인자 print @sql Insert # temp Exec (@sql) |
접기
예제.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -- 데이터를 저장할 임시테이블 생성 create table # temp ( store_employee_serial varchar (10), store_employee_name varchar (10) ) -- 실행 명령어를 @sql 변수에 저장한다 -- Exec(변수)와 프로시저를 이용해 다른 DB에 있는 테이블 검색한다. -- 프로시저는 검색할 테이블 DB에 미리 생성 되어 있어야한다. Declare @sql varchar (1000) Set @sql = '[' + @store_serial + '].dbo.proc_get_auth_confirm_employee ' + @store_employee_serial print @sql Insert #store_employee_info Exec (@sql) |
접기
'개발을하자 > SQL' 카테고리의 다른 글
#오라클 (테이블,컬럼) 주석 확인 / 컬럼명으로 테이블 찾기 (0) | 2018.12.27 |
---|---|
#오라클# 테이블 정보 조회하기 (0) | 2018.12.27 |
#Lob type# CLOB/BLOB 타입을 알고가자! (0) | 2015.10.30 |
#FULL OUTER JOIN# 테이블 3개 조인하는 방법! (0) | 2015.06.02 |
#Convert# 날짜 형식 변환! (0) | 2015.06.02 |
댓글