MSSQL 모든 저장 프로시저 코드를 하나의 열로 가져오기

반응형

MSSQL 모든 저장 프로시저 코드를 하나의 열로 가져오기

DECLARE c CURSOR READ_ONLY FAST_FORWARD FOR
SELECT name
  FROM dbo.sysobjects
 WHERE (type = 'P') and name not like 'sp_%' order by name 

 DECLARE @name nvarchar(255)

 declare @result varchar(MAX)
 set @result = ''

-- Open the cursor
OPEN c

FETCH NEXT FROM c INTO @name
WHILE (@@FETCH_STATUS = 0)
BEGIN
    if (OBJECT_ID(@name) is not null)
        set @result = @result + (SELECT OBJECT_DEFINITION (OBJECT_ID(@name))) + CHAR(13)
    FETCH NEXT FROM c INTO @name
END

-- Close and deallocate the cursor
CLOSE c
DEALLOCATE c

select @result
반응형