데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.



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
6794 응답 제한시간 초과 [2] 엑삼이 2013.05.20 19988
6793 Date 타입을 가지고 WHERE절에서 활용하는 방법 부탁드립니다. [2] Optimist 2013.05.18 7063
6792 crm 비슷하게 다이나믹 통계뷰를 만들어야됩니다 조언부탁. 드립니다 History 2013.05.18 6167
6791 10대 이상의 SQL서버 데이터를 메인서버에 업데이트 방법이... 이지빌더 2013.05.17 6190
6790 Database 병합하기 질문 [1] Mejasty(김경인) 2013.05.16 6647
6789 기간내에 해당요일이 몇번 출현하는지 계산하는 방법을 알고 싶습니다. [3] 김락중_278785 2013.05.16 9337
6788 Logon 트리거 관련 질문 입니다. [5] 수노 2013.05.16 6971
6787 미러링 오류 문의 [1] hyunjun.Lee 2013.05.15 6730
6786 sql2008에서 sql2000으로 링크드 서버 등록 후 쿼리 조회 [4] wassup 2013.05.15 18185
6785 사용자 폭주로 MSSQL 서버 한대로 힘들때 만약 3대를 돌린다면.. [5] zza 2013.05.15 9520
6784 테이블 스크립팅시 인덱스도 같이 가능한가요? [4] 치맥 2013.05.14 6954
6783 안녕하세요!! 이전 5달 구하기!!!!! [2] 베일리 2013.05.14 7371
6782 테이블 컬럼 char(4)를 char(2)로 바꾸려고합니다 [2] 개발좋아 2013.05.14 6318
6781 SQL Server 서비스 중지 이벤트로그ID좀 알려주세요 메칸더 2013.05.14 7280
6780 StoredProcedure 실행에 대해서 문의 드립니다. [7] 한정훈_313326 2013.05.13 6566
6779 정렬을 제가받은 파라미터 순서대로 정렬을 하고싶습니다.. [4] 뽀구 2013.05.13 7256
6778 오픈쿼리 INSERT 질문입니다. [1] 착한이 2013.05.12 10019
» 한서버에 여러개의 DataBase에 프로시져 컴파일 하는 방법 좀 알려 주세요. [1] 방울소리007 2013.05.10 8184
6776 로그인 계정관련 질문입니다. [4] 치맥 2013.05.10 11141
6775 이전월 주단위 표현 함수 [3] 베일리 2013.05.09 7706





XE Login