sp_sproc_columns (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス
現在の環境の 1 つのストアド プロシージャまたはユーザー定義関数の列情報を返します。
構文
sp_sproc_columns
[ [ @procedure_name = ] N'procedure_name' ]
[ , [ @procedure_owner = ] N'procedure_owner' ]
[ , [ @procedure_qualifier = ] N'procedure_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
引数
[ @procedure_name = ] N'procedure_name'
カタログ情報を返すために使用するプロシージャの名前。 @procedure_name は nvarchar(390) で、既定値は %
です。これは、現在のデータベース内のすべてのテーブルを意味します。 ワイルドカードのパターン マッチングがサポートされています。
[ @procedure_owner = ] N'procedure_owner'
プロシージャの所有者の名前。 @procedure_owner は nvarchar(384) で、既定値は NULL
です。 ワイルドカードのパターン マッチングがサポートされています。 @procedure_ownerが指定されていない場合は、基になるデータベース管理システム (DBMS) の既定のプロシージャ可視性ルールが適用されます。
現在のユーザーが指定した名前のプロシージャを所有している場合は、そのプロシージャに関する情報が返されます。 @procedure_ownerが指定されておらず、現在のユーザーが指定した名前のプロシージャを所有していない場合、sp_sproc_columns
は、データベース所有者が所有する指定した名前のプロシージャを探します。 プロシージャが存在する場合は、その列に関する情報が返されます。
[ @procedure_qualifier = ] N'procedure_qualifier'
プロシージャ修飾子の名前。 @procedure_qualifier は sysname で、既定値は NULL
です。 さまざまな DBMS 製品では、テーブルの 3 部構成の名前付け (<qualifier>.<owner>.<name>
) がサポートされています。 SQL Server では、このパラメーターはデータベース名を表します。 一部の製品では、テーブルのデータベース環境のサーバー名を表します。
[ @column_name = ] N'column_name'
1 つの列で、カタログ情報の列が 1 つだけ必要な場合に使用されます。 @column_name は nvarchar(384) で、既定値は NULL
です。 @column_nameを省略すると、すべての列が返されます。 ワイルドカードのパターン マッチングがサポートされています。 相互運用性を最大限に高める場合、ゲートウェイ クライアントは ISO 標準パターン マッチング (% および _ ワイルドカード文字) のみを想定する必要があります。
[ @ODBCVer = ] ODBCVer
使用されている ODBC のバージョン。 @ODBCVer は int で、既定値は 2
で、ODBC バージョン 2.0 を示します。 ODBC バージョン 2.0 と ODBC バージョン 3.0 の違いの詳細については、ODBC バージョン 3.0 の ODBC SQLProcedureColumns
仕様を参照してください。
[ @fUsePattern = ] fUsePattern
アンダースコア (_
)、パーセント (%
)、角かっこ ([
および ]
) 文字をワイルドカード文字として解釈するかどうかを決定します。 @fUsePattern は bit で、既定値は 1
です。 有効な値は 0
(パターン マッチングがオフ) と 1
(パターン マッチングがオン) です。
リターン コードの値
なし。
結果セット
列名 | データ型 | 説明 |
---|---|---|
PROCEDURE_QUALIFIER |
sysname | プロシージャ修飾子名。 この列は NULL できます。 |
PROCEDURE_OWNER |
sysname | プロシージャ所有者の名前。 この列は常に値が返されます。 |
PROCEDURE_NAME |
nvarchar(134) | プロシージャ名。 この列は常に値が返されます。 |
COLUMN_NAME |
sysname | 返される TABLE_NAME の各列の列名。 この列は常に値が返されます。 |
COLUMN_TYPE |
smallint | このフィールドは常に値を返します。 0 = SQL_PARAM_TYPE_UNKNOWN 1 = SQL_PARAM_TYPE_INPUT 2 = SQL_PARAM_TYPE_OUTPUT 3 = SQL_RESULT_COL 4 = SQL_PARAM_OUTPUT 5 = SQL_RETURN_VALUE |
DATA_TYPE |
smallint | ODBC データ型用の整数コードです。 このデータ型を ISO 型にマップできない場合、値は NULL 。 ネイティブ データ型名は、 TYPE_NAME 列に返されます。 |
TYPE_NAME |
sysname | データ型の文字列形式。 この値は、基になる DBMS によって提示されるデータ型名です。 |
PRECISION |
int | 有効桁数。 PRECISION 列の戻り値は 10 進数です。 |
LENGTH |
int | データの転送サイズです。 |
SCALE |
smallint | 小数点以下の桁数。 |
RADIX |
smallint | 数値型の基数です。 |
NULLABLE |
smallint | null 許容値を指定します。1 = null 値を許可するデータ型を作成できます。0 = Null 値は許可されません。 |
REMARKS |
varchar(254) | プロシージャの列の説明です。 SQL Server は、この列の値を返しません。 |
COLUMN_DEF |
nvarchar (4000) | 列の既定値です。 |
SQL_DATA_TYPE |
smallint | 記述子の TYPE フィールドに表示される SQL データ型の値。 この列は、datetime および ISO interval データ型を除き、DATA_TYPE 列と同じです。 この列は常に値が返されます。 |
SQL_DATETIME_SUB |
smallint | datetime ISO interval サブコード (SQL_DATA_TYPE の値がSQL_DATETIME またはSQL_INTERVAL の場合)。 datetime および ISO interval 以外のデータ型の場合、このフィールドはNULL 。 |
CHAR_OCTET_LENGTH |
int | 文字型または binary データ型列の最大長 (バイト単位)。 その他のすべてのデータ型の場合、この列は NULL を返します。 |
ORDINAL_POSITION |
int | テーブル内の列の序数位置。 テーブルの最初の列は 1 。 この列は常に値が返されます。 |
IS_NULLABLE |
varchar(254) | テーブル内の列の NULL 値の許容。 ISO の規則に従って、NULL 値の許容が判断されます。 ISO 準拠の DBMS は空の文字列を返すことはできません。 列に null を含めることができる場合は YES を表示し、列に null を含めることができない場合は NO します。NULL 値の許容が不明な場合、この列は長さ 0 の文字列になります。 この列に対して返される値は、 NULLABLE 列に対して返される値とは異なります。 |
SS_DATA_TYPE |
tinyint | 拡張ストアド プロシージャによって使われる SQL Server のデータ型。 詳細については、「 Data 型 (Transact-SQL)」を参照してください。 |
解説
sp_sproc_columns
は ODBC の SQLProcedureColumns
と同じです。 返される結果は、 PROCEDURE_QUALIFIER
、 PROCEDURE_OWNER
、 PROCEDURE_NAME
、およびパラメーターがプロシージャ定義に表示される順序で並べ替えます。
アクセス許可
スキーマに対する SELECT
アクセス許可が必要です。