1

Sql Server では、SP または UDF の変更を選択すると、クエリ ウィンドウにオブジェクトの変更クエリが読み込まれます。これらのクエリはシステム テーブルでアクセスできるので、alter ステートメントをどこかに保存できますか? syscomments にはいくつかのオブジェクトがありますが、すべてではないようです。

ありがとう

4

2 に答える 2

1

syscomments は使用しないでください。 issyscomments.textnvarchar(4000)あり、その結果、より長いものはすべて切り捨てられます。

isであるsys.sql_modulesため使用します。長いコードは切り捨てられません。 definitionnvarchar(max)

これを使用して、特定のプロシージャ、ビュー、または関数のテキストを表示します。

SELECT * FROM sys.sql_modules WHERE object_id=object_id('YourProcedure')

これを使用して、任意のプロシージャ、ビュー、または関数の名前、型、およびテキストを取得します。

SELECT DISTINCT
    o.name AS Object_Name,o.type_desc, m.definition
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.object_id=object_id('CPT_SP_IRA_ComboBox_IncidentStatus')
于 2010-03-19T14:29:40.503 に答える
-1

何を求めているのか完全にはわかりませんが、次のクエリでストアド プロシージャを確認できます。

SELECT SO.Type,SO.Name,SC.Text
FROM sysobjects SO (NOLOCK)
INNER JOIN syscomments SC (NOLOCK) on SO.Id = SC.ID
AND SO.Type = 'P'
ORDER BY SO.Name

さまざまなオブジェクト タイプを探している 場合は、さまざまなタイプのsys.sysobjectsを参照してください。

于 2010-03-13T12:48:24.547 に答える