Program Tip

SQL Server Management Studio에서 저장 프로 시저 코드를 보는 방법

programtip 2020. 12. 13. 10:29
반응형

SQL Server Management Studio에서 저장 프로 시저 코드를 보는 방법


SQL Server를 처음 사용합니다. SQL Server Management Studio를 통해 데이터베이스에 로그인했습니다.

저장 프로 시저 목록이 있습니다. 저장 프로 시저 코드는 어떻게 봅니까?

저장 프로 시저를 마우스 오른쪽 단추로 클릭하면와 같은 옵션이 없습니다 view contents of stored procedure.

감사.


저장 프로 시저를 마우스 오른쪽 단추로 클릭 하고 새 쿼리 편집기 창 / 클립 보드 / 파일에 대한 CREATE로 스크립트 저장 프로 시저를 선택합니다.

이름을 마우스 오른쪽 버튼으로 클릭하여 수정할 수도 있습니다.

한 번에 둘 이상의 프로 시저를 수행하려면 저장 프로 시저 폴더를 클릭하고 Ctrl 키를 사용하여 F7 키를 누르고 원하는 모든 항목을 클릭 한 다음 마우스 오른쪽 단추를 클릭하고 스크립트 저장 프로 시저를 CREATE 선택합니다.


이것이 저장 프로 시저의 코드를 보는 더 좋은 방법이라고 생각합니다.

sp_helptext <name of your sp>

이 옵션은 Modify다음과 같습니다.

여기에 이미지 설명 입력

그러면 새 쿼리 창에 저장 프로 시저에 대한 T-SQL 코드가 ALTER PROCEDURE ...리드 인과 함께 표시되므로 프로 시저를 쉽게 변경하거나 수정하고 업데이트 할 수 있습니다.


이것은 저장 프로 시저의 정의를 보는 또 다른 방법입니다.

SELECT OBJECT_DEFINITION (OBJECT_ID(N'Your_SP'))

아래 쿼리를 사용하십시오.

SELECT object_definition(object_id) as [Proc Definition]
FROM sys.objects 
WHERE type='P'

개체 탐색기를 사용하고 저장 프로 시저를 새 쿼리 편집기 창과 다른 쿼리에 스크립팅하는 것을 권장하는 다른 답변은 확실한 옵션입니다.

개인적으로 아래 쿼리를 사용하여 단일 행에서 저장 프로 시저 정의 / 코드를 검색하는 것을 좋아합니다 (Microsoft SQL Server 2014를 사용하고 있지만 SQL Server 2008 이상에서 작동하는 것 같습니다)

SELECT definition 
FROM sys.sql_modules 
WHERE object_id = OBJECT_ID('yourSchemaName.yourStoredProcedureName')

sys.sql_modules에 대한 추가 정보 :

https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql


sp_helptext 'your_sp_name'

Management Studio에서는 기본적으로 결과가 그리드보기로 표시됩니다. 텍스트보기에서 보려면 다음으로 이동하십시오.

쿼리-> 결과-> 결과를 ​​텍스트로

또는 CTRL + T를 누른 다음 실행합니다.


저처럼 '수정'권한이없는 경우 "SQL Search"(redgate 제공)라는 무료 도구를 설치할 수 있습니다. SP에 포함될 것으로 알고있는 키워드를 검색하는 데 사용하고 키워드가 강조 표시된 SP 코드의 미리보기를 반환합니다.

영리한! 그런 다음이 코드를 내 SP에 복사하거나


다음 쿼리를 사용하여 데이터베이스에 저장된 모든 개체 코드를 볼 수 있습니다.

    USE [test] --Database Name
SELECT
    sch.name+'.'+ob.name AS       [Object], 
    ob.create_date, 
    ob.modify_date, 
    ob.type_desc, 
    mod.definition
FROM 
     sys.objects AS ob
     LEFT JOIN sys.schemas AS sch ON
            sch.schema_id = ob.schema_id
     LEFT JOIN sys.sql_modules AS mod ON
            mod.object_id = ob.object_id
WHERE mod.definition IS NOT NULL --Selects only objects with the definition (code)

참고 URL : https://stackoverflow.com/questions/8733088/how-to-view-the-stored-procedure-code-in-sql-server-management-studio

반응형