How to view the stored procedure code in SQL Server Management Studio

怎甘沉沦 提交于 2020-08-20 18:28:06

问题


I am new to SQL Server. I am logged into my database through SQL Server Management Studio.

I have a list of stored procedures. How do I view the stored procedure code?

Right clicking on the stored procedure does not have any option like view contents of stored procedure.

Thanks.


回答1:


right click on the stored proc and select script stored procedure as CREATE to New Query Editor Window/Clipboard/File

you can also do Modify when you right click on the name

If you want to more than 1 proc at one time, click on the stored procedures folder, hit F7, with CTRL and click select all the ones that you want and then right click and select script stored procedure as CREATE




回答2:


I guess this is a better way to view a stored procedure's code:

sp_helptext <name of your sp>



回答3:


The option is called Modify:

enter image description here

This will show you the T-SQL code for your stored procedure in a new query window, with an ALTER PROCEDURE ... lead-in, so you can easily change or amend your procedure and update it




回答4:


This is another way of viewing definition of stored procedure

SELECT OBJECT_DEFINITION (OBJECT_ID(N'Your_SP'))



回答5:


Use query below:-

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



回答6:


The other answers that recommend using the object explorer and scripting the stored procedure to a new query editor window and the other queries are solid options.

I personally like using the below query to retrieve the stored procedure definition/code in a single row (I'm using Microsoft SQL Server 2014, but looks like this should work with SQL Server 2008 and up)

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

More info on sys.sql_modules:

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




回答7:


exec sp_helptext 'your_sp_name' -- don't forget the quotes

In management studio by default results come in grid view. If you would like to see it in text view go to:

Query --> Results to --> Results to Text

or CTRL + T and then Execute.




回答8:


You can view all the objects code stored in the database with this query:

    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)



回答9:


in case you don't have permission to 'modify', like me, you can install a free tool called "SQL Search" (by redgate). I use it to search for keywords that i know will be in the SP and it returns a preview of the SP code with the keywords highlighted.

ingenious! I then copy this code into my own SP or view it in



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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!