sp_sproc_columns (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウス

現在の環境の 1 つのストアド プロシージャまたはユーザー定義関数の列情報を返します。

Transact-SQL 構文表記規則

構文

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 で、既定値は 2ODBC バージョン 2.0 を示します。 ODBC バージョン 2.0 と ODBC バージョン 3.0 の違いの詳細については、ODBC バージョン 3.0 の ODBC SQLProcedureColumns 仕様を参照してください。

[ @fUsePattern = ] fUsePattern

アンダースコア ()、パーセント (_%)、角かっこ ([および]) 文字がワイルドカード文字として解釈されるかどうかを判断します。 @fUsePatternはビットで、既定値は 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 間隔データ型を除き、列と同じですDATA_TYPE。 この列は常に値が返されます。
SQL_DATETIME_SUB smallint datetime ISO interval サブコード (値SQL_DATA_TYPEが is SQL_DATETIME または SQL_INTERVAL. datetime および ISO 間隔以外のデータ型の場合、このフィールドは NULL.
CHAR_OCTET_LENGTH int 文字またはバイナリ データ型の列の最大長 (バイト単位)。 他のすべてのデータ型の場合、この列 NULLは .
ORDINAL_POSITION int テーブル内の列の序数位置。 テーブルの最初の列は 1. この列は常に値が返されます。
IS_NULLABLE varchar(254) テーブル内の列の NULL 値の許容。 ISO の規則に従って、NULL 値の許容が判断されます。 ISO 準拠の DBMS は空の文字列を返すことはできません。

YES列に null を含めることができるかどうか、およびNO列に null を含めることができないかどうかを表示します。

NULL 値の許容が不明な場合、この列は長さ 0 の文字列になります。

この列に対して返される値は、列に対 NULLABLE して返される値とは異なります。
SS_DATA_TYPE tinyint 拡張ストアド プロシージャによって使われる SQL Server のデータ型。 詳細については、「データ型 (Transact-SQL)」を参照してください

解説

sp_sproc_columns は ODBC の場合と SQLProcedureColumns 同じです。 返される結果は、PROCEDURE_OWNERPROCEDURE_NAMEパラメーターがプロシージャ定義に表示される順序 、、および順序付けPROCEDURE_QUALIFIERされます。

アクセス許可

スキーマに対する SELECT アクセス許可が必要です。