次の方法で共有


ストアド プロシージャの定義を表示する

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

ストアド プロシージャの定義の表示

この記事では、オブジェクト エクスプローラー または T-SQL でプロシージャの定義を表示する方法について説明します。

SQL Server Management Studio を使用します。

オブジェクト エクスプローラーでプロシージャの定義を表示するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [データベース]を展開し、プロシージャが属するデータベースを展開し、 [プログラミング]を展開します。

  3. [ストアド プロシージャ]を展開します。プロシージャを右クリックし、[ストアド プロシージャをスクリプト化]を選択し、[CREATE][ALTER][DROP および CREATE]のいずれかを選択します。

  4. 新しいクエリ エディター ウィンドウを選択します。 プロシージャの定義が表示されます。

Transact-SQL の使用

T-SQL では、次の 3 コマンドのいずれかを使用できます。

Note

システム ストアド プロシージャ sp_helptext は、Azure Synapse Analytics ではサポートされていません。 代わりに、sys.sql_modules オブジェクト カタログ ビューを使用します。

sp_helptext を使用する

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. ツール バーで、 [新しいクエリ] を選択します。

  3. クエリ ウィンドウで、sp_helptext システム ストアド プロシージャを使用した次のステートメントを入力します。 データベース名とストアド プロシージャ名を変更し、目的のデータベースとストアド プロシージャを参照するようにします。

    USE AdventureWorks2022;  
    GO  
    EXEC sp_helptext N'AdventureWorks2022.dbo.uspLogError';  
    

OBJECT_DEFINITION を使用する

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. ツール バーで、 [新しいクエリ] を選択します。

  3. クエリ ウィンドウで、OBJECT_DEFINITION システム関数を使用した次のステートメントを入力します。 データベース名とストアド プロシージャ名を変更し、目的のデータベースとストアド プロシージャを参照するようにします。 このクエリは、 OBJECT_IDOBJECT_DEFINITION を活用して 3 部構成の名前でオブジェクトを識別します。

    USE AdventureWorks2022;  
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2022.dbo.uspLogError'));  
    

sys.sql_modules を使用する

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. ツール バーで、 [新しいクエリ] を選択します。

  3. クエリ ウィンドウで、sys.sql_modules カタログ ビューを使用した次のステートメントを入力します。 データベース名とストアド プロシージャ名を変更し、目的のデータベースとストアド プロシージャを参照するようにします。

    USE AdventureWorks2022;  
    GO  
    SELECT [definition]
    FROM sys.sql_modules  
    WHERE object_id = (OBJECT_ID(N'dbo.uspLogError'));