programing

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

stoneblock 2023. 4. 29. 08:13

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

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

저장 프로시저 목록이 있습니다.저장 프로시저 코드를 보려면 어떻게 해야 합니까?

저장 프로시저를 마우스 오른쪽 버튼으로 클릭하면 다음과 같은 옵션이 없습니다.view contents of stored procedure.

감사해요.

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

sp_helptext <name of your sp>

저장 프로시저를 마우스 오른쪽 버튼으로 클릭하고 Script Stored Procedure as | CREATE To | New Query Editor Window / Clipboard / File을 선택합니다.

저장 프로시저를 마우스 오른쪽 버튼으로 클릭할 때 수정을 수행할 수도 있습니다.

한 번에 여러 프로시저를 사용하려면 저장 프로시저 폴더를 클릭하고 를 눌러 개체 탐색기 세부 정보 창을 연 다음 누르고 원하는 모든 프로시저를 선택한 다음 마우스 오른쪽 단추를 클릭하여 스크립트 저장 프로시저를 | CREATE To로 선택합니다.

이 옵션은 다음과 같습니다.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'

exec sp_helptext 'your_sp_name' -- 따옴표를 잊지 마십시오.

관리 스튜디오에서는 기본적으로 결과가 그리드 보기로 표시됩니다.텍스트 보기에서 보기를 보려면 다음으로 이동합니다.

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

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

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

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

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

sys에 대한 자세한 정보.sql_dll:

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

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

    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)

'수정' 권한이 없는 경우 "SQL 검색"(Redgate 기준)이라는 무료 도구를 설치할 수 있습니다.SP에 있을 것으로 알고 있는 키워드를 검색할 때 사용하면 키워드가 강조 표시된 SP 코드의 미리 보기를 반환합니다.

기발!그런 다음 이 코드를 내 SP에 복사합니다.

이것이 더 나은 방법입니다.

SELECT object_definition(object_id)
FROM sys.objects 
WHERE type='p' and name='SP_Name'

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