sp_sproc_columns (Transact-sql)sp_sproc_columns (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

現在の環境の単一のストアドプロシージャまたはユーザー定義関数の列情報を返します。Returns column information for a single stored procedure or user-defined function in the current environment.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

-- Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse  
  
sp_sproc_columns [[@procedure_name = ] 'name']   
    [ , [@procedure_owner = ] 'owner']   
    [ , [@procedure_qualifier = ] 'qualifier']   
    [ , [@column_name = ] 'column_name']  
    [ , [@ODBCVer = ] 'ODBCVer']  
    [ , [@fUsePattern = ] 'fUsePattern']  

引数Arguments

[ @procedure_name = ] 'name' カタログ情報を返すために使用するプロシージャの名前を指定します。[ @procedure_name = ] 'name' Is the name of the procedure used to return catalog information. 名前nvarchar ( 390 ),、既定値は%,、現在のデータベース内のすべてのテーブルを意味します。name is nvarchar( 390 ), with a default of %, which means all tables in the current database. ワイルドカードパターンマッチングがサポートされています。Wildcard pattern matching is supported.

[ @procedure_owner = ] 'owner' プロシージャの所有者の名前を指定します。[ @procedure_owner = ] 'owner' Is the name of the owner of the procedure. ownernvarchar ( 384 ),、既定値は NULL です。owner is nvarchar( 384 ), with a default of NULL. ワイルドカードパターンマッチングがサポートされています。Wildcard pattern matching is supported. Owner が指定されていない場合、基になる DBMS の既定のプロシージャ可視性ルールが適用されます。If owner is not specified, the default procedure visibility rules of the underlying DBMS apply.

指定した名前のプロシージャが現在のユーザーによって所有されている場合は、そのプロシージャに関する情報が返されます。If the current user owns a procedure with the specified name, information about that procedure is returned. Owner が指定されておらず、現在のユーザーが指定された名前のプロシージャを所有していない場合、 sp_sproc_columns は、データベース所有者が所有している、指定された名前のプロシージャを検索します。If owner is not specified and the current user does not own a procedure with the specified name, sp_sproc_columns looks for a procedure with the specified name that is owned by the database owner. プロシージャが存在する場合は、その列に関する情報が返されます。If the procedure exists, information about its columns is returned.

[ @procedure_qualifier = ] 'qualifier' プロシージャ修飾子の名前を指定します。[ @procedure_qualifier = ] 'qualifier' Is the name of the procedure qualifier. 修飾子sysname,、既定値は NULL です。qualifier is sysname, with a default of NULL. さまざまな DBMS 製品では、3部構成のテーブル名 (qualifier.owner.name) がサポートしています。Various DBMS products support three-part naming for tables (qualifier.owner.name). では SQL ServerSQL Server 、このパラメーターはデータベース名を表します。In SQL ServerSQL Server, this parameter represents the database name. 一部の製品では、テーブルのデータベース環境のサーバー名を表します。In some products, it represents the server name of the table's database environment.

[ @column_name = ] 'column_name' 1つの列を指定します。カタログ情報の列が1つだけ必要な場合に使用します。[ @column_name = ] 'column_name' Is a single column and is used when only one column of catalog information is desired. column_namenvarchar ( 384 ),、既定値は NULL です。column_name is nvarchar( 384 ), with a default of NULL. Column_name を省略すると、すべての列が返されます。If column_name is omitted, all columns are returned. ワイルドカードパターンマッチングがサポートされています。Wildcard pattern matching is supported. 相互運用性を最大にするために、ゲートウェイクライアントは ISO 標準のパターン照合 (% と _ ワイルドカード文字) のみを想定する必要があります。For maximum interoperability, the gateway client should assume only ISO standard pattern matching (the % and _ wildcard characters).

[ @ODBCVer = ] 'ODBCVer' 使用する ODBC のバージョンを示します。[ @ODBCVer = ] 'ODBCVer' Is the version of ODBC being used. Odbcverint,、既定値は 2,、ODBC バージョン2.0 を示します。ODBCVer is int, with a default of 2, which indicates ODBC version 2.0. Odbc バージョン2.0 と ODBC バージョン3.0 の相違点の詳細については、odbc version 3.0 の ODBC SQLProcedureColumns 仕様を参照してください。For more information about the difference between ODBC version 2.0 and ODBC version 3.0, refer to the ODBC SQLProcedureColumns specification for ODBC version 3.0

[ @fUsePattern = ] 'fUsePattern' アンダースコア ()、パーセント (%)、および角かっこ ([]) の各文字をワイルドカード文字として解釈するかどうかを決定します。[ @fUsePattern = ] 'fUsePattern' Determines whether the underscore (), percent (%), and bracket ([ ]) characters are interpreted as wildcard characters. 有効な値は 0 (パターン一致がオフ) および 1 (パターン一致がオン) です。Valid values are 0 (pattern matching is off) and 1 (pattern matching is on). Fusepatternビット,、既定値は1です。fUsePattern is bit, with a default of 1.

リターン コードの値Return Code Values

なしNone

結果セットResult Sets

列名Column name データ型Data type 説明Description
PROCEDURE_QUALIFIERPROCEDURE_QUALIFIER sysnamesysname プロシージャ修飾子の名前。Procedure qualifier name. この列は NULL にすることができます。This column can be NULL.
PROCEDURE_OWNERPROCEDURE_OWNER sysnamesysname プロシージャ所有者の名前。Procedure owner name. この列は常に値が返されます。This column always returns a value.
PROCEDURE_NAMEPROCEDURE_NAME nvarchar ( 134 )nvarchar( 134 ) プロシージャ名。Procedure name. この列は常に値が返されます。This column always returns a value.
COLUMN_NAMECOLUMN_NAME sysnamesysname 返される TABLE_NAME の各列の列名。Column name for each column of the TABLE_NAME returned. この列は常に値が返されます。This column always returns a value.
COLUMN_TYPECOLUMN_TYPE smallintsmallint このフィールドは常に値を返します。This field always returns a value:

0 = SQL_PARAM_TYPE_UNKNOWN0 = SQL_PARAM_TYPE_UNKNOWN

1 = SQL_PARAM_TYPE_INPUT1 = SQL_PARAM_TYPE_INPUT

2 = SQL_PARAM_TYPE_OUTPUT2 = SQL_PARAM_TYPE_OUTPUT

3 = SQL_RESULT_COL3 = SQL_RESULT_COL

4 = SQL_PARAM_OUTPUT4 = SQL_PARAM_OUTPUT

5 = SQL_RETURN_VALUE5 = SQL_RETURN_VALUE
DATA_TYPEDATA_TYPE smallintsmallint ODBC データ型用の整数コードです。Integer code for an ODBC data type. このデータ型を ISO 型にマップできない場合、値は NULL になります。If this data type cannot be mapped to an ISO type, the value is NULL. ネイティブデータ型の名前が TYPE_NAME 列に返されます。The native data type name is returned in the TYPE_NAME column.
TYPE_NAMETYPE_NAME sysnamesysname データ型の文字列表現。String representation of the data type. これは、基になる DBMS によって示されるデータ型の名前です。This is the data type name as presented by the underlying DBMS.
PRECISIONPRECISION intint 有効桁数。Number of significant digits. 有効桁数 列の戻り値は、10進数値です。The return value for the PRECISION column is in base 10.
LENGTHLENGTH intint データの転送サイズです。Transfer size of the data.
段階SCALE smallintsmallint 小数点の右側の桁数。Number of digits to the right of the decimal point.
RADIXRADIX smallintsmallint 数値型の基数です。Is the base for numeric types.
NULLABLENULLABLE smallintsmallint Null 値の許容属性を指定します。Specifies nullability:

1 = null 値を許容するデータ型を作成できます。1 = Data type can be created allowing null values.

0 = Null 値は使用できません。0 = Null values are not allowed.
備考REMARKS varchar ( 254 )varchar( 254 ) プロシージャの列の説明です。Description of the procedure column. SQL ServerSQL Server はこの列の値を返しません。does not return a value for this column.
COLUMN_DEFCOLUMN_DEF nvarchar ( 4000 )nvarchar( 4000 ) 列の既定値です。Default value of the column.
SQL_DATA_TYPESQL_DATA_TYPE smallintsmallint 記述子の type フィールドに表示される SQL データ型の値。Value of the SQL data type as it appears in the TYPE field of the descriptor. この列は、datetime データ型と ISO interval データ型以外は、DATA_TYPE 列と同じです。This column is the same as the DATA_TYPE column, except for the datetime and ISO interval data types. この列は常に値が返されます。This column always returns a value.
SQL_DATETIME_SUBSQL_DATETIME_SUB smallintsmallint SQL_DATA_TYPE の値が SQL_DATETIME または SQL_INTERVAL の場合は、datetime ISO interval サブコードになります。The datetime ISO interval subcode if the value of SQL_DATA_TYPE is SQL_DATETIME or SQL_INTERVAL. Datetime および ISO interval 以外のデータ型の場合、このフィールドは NULL になります。For data types other than datetime and ISO interval, this field is NULL.
CHAR_OCTET_LENGTHCHAR_OCTET_LENGTH intint 文字 または バイナリ データ型の列の最大長 (バイト単位)。Maximum length in bytes of a character or binary data type column. 他のすべてのデータ型については、この列は NULL を返します。For all other data types, this column returns a NULL.
ORDINAL_POSITIONORDINAL_POSITION intint テーブル内の列の序数位置。Ordinal position of the column in the table. テーブルの最初の列は1です。The first column in the table is 1. この列は常に値が返されます。This column always returns a value.
IS_NULLABLEIS_NULLABLE varchar (254)varchar(254) テーブル内の列の null 値の許容属性。Nullability of the column in the table. ISO ルールの後に、null 値の許容属性が決定されます。ISO rules are followed to determine nullability. ISO に準拠している DBMS は、空の文字列を返すことはできません。An ISO compliant DBMS cannot return an empty string.

列が NULL を含むことができる場合は YES、含むことができない場合は NO を表示します。Displays YES if the column can include NULLS and NO if the column cannot include NULLS.

Null 値許容属性が不明の場合、この列は長さ0の文字列を返します。This column returns a zero-length string if nullability is unknown.

この列に返される値は、NULLABLE 列に返される値とは異なります。The value returned for this column is different from the value returned for the NULLABLE column.
SS_DATA_TYPESS_DATA_TYPE tinyinttinyint SQL ServerSQL Server 拡張ストアドプロシージャによって使用されるデータ型。data type used by extended stored procedures. 詳細については、「データ型 (Transact-SQL)」を参照してください。For more information, see Data Types (Transact-SQL).

コメントRemarks

sp_sproc_columns は、ODBC の SQLProcedureColumns に相当します。sp_sproc_columns is equivalent to SQLProcedureColumns in ODBC. 返される結果は、 PROCEDURE_QUALIFIERPROCEDURE_OWNERPROCEDURE_NAME の順に並べ替えられ、プロシージャの定義にパラメーターが表示される順序に従って並べ替えられます。The results returned are ordered by PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME, and the order that the parameters appear in the procedure definition.

アクセス許可Permissions

スキーマに対する SELECT 権限が必要です。Requires SELECT permission on the schema.

参照See Also

Transact-sql)(のカタログストアドプロシージャ Catalog Stored Procedures (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)System Stored Procedures (Transact-SQL)