MS-SQL서버에 여러개의 DB가 존재할 때 프로시져 컴파일을 각각의 DB에 들어가서 일일히 컴파일하기가 번거롭고,

프로시져 수정 사항이 생길 때도 각각 들어가서 컴파일 하기에 너무 시간이 많이 소요되서  각각의 DB에 일괄로 프로시져 컴파일

하도록 프로시져를 구현 하는데 막히는 부분이 있어서 이곳에 올립니다.

 

제가 일괄로 프로시져를 갱신하기 위한 문장을 만들고 있는데 프로시져 내용이 워낙 방대 하다 보니 아래의

     SET @SQL = 'CREATE Proc dbo.sp_recv_proc........................'

부분에 @SQL = 파일로 처리하거나 프로시져를 가져올수 있는 부분이 있나해서 문의 해봅니다.


/* 변수선언 */
DECLARE @table_id int
DECLARE @DataBaseName SYSNAME
DECLARE @USE_DB NVARCHAR(300)
DECLARE @SQL NVARCHAR(1000)
DECLARE @cols int

/* 커서선언 */
DECLARE U_CURSOR CURSOR FOR
 SELECT name FROM master..sysdatabases where name LIKE '%CUST'

 OPEN U_CURSOR

 FETCH NEXT FROM U_CURSOR
 INTO @DataBaseName

 WHILE @@FETCH_STATUS = 0

  BEGIN
   SET @table_id = object_id(@DataBaseName+'.DBO.T_R_RECORD')
  
  -- 테이블이 있다면 프로시져 생성
   IF @table_id IS NOT NULL
    BEGIN
     -- 대상 데이터베이스
     SET @USE_DB = 'USE ' + @DataBaseName + ' '
     -- 실행시킬 쿼리문
     SET @SQL = 'CREATE Proc dbo.sp_recv_proc........................'

     SET @SQL = @USE_DB + @SQL
     EXEC (@SQL)

     FETCH NEXT FROM U_CURSOR
     INTO @DataBaseName
    END
   -- 대상 테이블 없을 경우 프로시져 생성 안함.
   ELSE
    BEGIN
     SELECT @DataBaseName as 데이터베이스명, '테이블 없음' AS 결과
     FETCH NEXT FROM U_CURSOR
     INTO @DataBaseName
    END
  END

CLOSE U_CURSOR
DEALLOCATE U_CURSOR

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1309
6783 안녕하세요!! 이전 5달 구하기!!!!! [2] 베일리 2013.05.14 7383
6782 테이블 컬럼 char(4)를 char(2)로 바꾸려고합니다 [2] 개발좋아 2013.05.14 6335
6781 SQL Server 서비스 중지 이벤트로그ID좀 알려주세요 메칸더 2013.05.14 7296
6780 StoredProcedure 실행에 대해서 문의 드립니다. [7] 한정훈_313326 2013.05.13 6578
6779 정렬을 제가받은 파라미터 순서대로 정렬을 하고싶습니다.. [4] 뽀구 2013.05.13 7278
6778 오픈쿼리 INSERT 질문입니다. [1] 착한이 2013.05.12 10041
» 한서버에 여러개의 DataBase에 프로시져 컴파일 하는 방법 좀 알려 주세요. [1] 방울소리007 2013.05.10 8238
6776 로그인 계정관련 질문입니다. [4] 치맥 2013.05.10 11205
6775 이전월 주단위 표현 함수 [3] 베일리 2013.05.09 7727
6774 데이터 가져오기 중에 잘림 현상 때문에 실패하는대요~ [3] 작은나무 2013.05.09 25307
6773 특정 조회값에 따른 쿼리속도 [16] 델리스파이스 2013.05.09 6745
6772 미러링 Server에 bak파일로 복원 [2] 최연웅 2013.05.09 7087
6771 SQL 프로필러 실행 오류 조언 부탁 드립니다. [2] 최문규_310881 2013.05.09 6783
6770 백업 bak 복구 제한...걸기.. [2] 열린문서 2013.05.09 6532
6769 서버(instance) collation 설정 방법 문의드립니다. [4] 나찰 2013.05.08 8372
6768 select 해서 나오는 컬럼값에 대해...count 관련... [3] 다크나인 2013.05.08 7508
6767 접근 통제 관련 질문 입니다. [5] 수노 2013.05.08 5631
6766 최초 DB구성시...ㅠㅜ [2] 파인드쿠폰 2013.05.08 6157
6765 begin try 구문 안에서 insert가 rollback 되는 현상에 대해 질문드립니다. [5] 나는짱이야 2013.05.08 6793
6764 운영 DB 확인하는 방법문의 [5] 최문규_310881 2013.05.08 6044





XE Login