sp_columns_ex (Transact-SQL)
適用対象:SQL Server
指定したリンク サーバー テーブルに対し、1 列あたり 1 行の列情報を返します。 sp_columns_ex は、column が指定されている場合、特定の列についてのみ 列 情報を返します。
構文
sp_columns_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [ @column_name = ] 'column' ]
[ , [ @ODBCVer = ] 'ODBCVer' ]
引数
[ @table_server = ] 'table_server'
列情報を返すリンク サーバーの名前です。 table_server は sysname で、既定値はありません。
[ @table_name = ] 'table_name'
列情報を返すテーブルの名前を指定します。 table_name は sysname で、既定値は NULL です。
[ @table_schema = ] 'table_schema'
列情報を返すテーブルのスキーマ名です。 table_schema は sysname で、既定値は NULL です。
[ @table_catalog = ] 'table_catalog'
列情報を返すテーブルのカタログ名です。 table_catalog は sysname で、既定値は NULL です。
[ @column_name = ] 'column'
情報を提供するデータベース列の名前です。 column は sysname で、既定値は NULL です。
[ @ODBCVer = ] 'ODBCVer'
使用されている ODBC のバージョンです。 ODBCVer は int で、既定値は 2 です。 これは ODBC バージョン 2 を示します。 有効な値は 2 または 3 です。 バージョン 2 と 3 の動作の相違については、ODBC の SQLColumns 仕様を参照してください。
リターン コードの値
なし
結果セット
列名 | データ型 | 説明 |
---|---|---|
TABLE_CAT | sysname | テーブルまたはビュー修飾子の名前。 さまざまな DBMS 製品では、テーブルの 3 部構成の名前付け (修飾子) がサポートされています。所有者。name)。 SQL Serverでは、この列はデータベース名を表します。 一部の製品では、テーブルのデータベース環境のサーバー名を表します。 このフィールドには NULL を指定できます。 |
TABLE_SCHEM | sysname | テーブルまたはビュー所有者の名前。 SQL Serverでは、この列はテーブルを作成したデータベース ユーザーの名前を表します。 このフィールドは常に値を返します。 |
Table_name | sysname | テーブルまたはビューの名前。 このフィールドは常に値を返します。 |
COLUMN_NAME | sysname | 返される TABLE_NAME の各列の列名。 このフィールドは常に値を返します。 |
DATA_TYPE | smallint | ODBC のデータ型を表す整数値。 ODBC のデータ型にマップできないデータ型の場合、この値は NULL になります。 ネイティブ データ型名は 、TYPE_NAME 列に返されます。 |
TYPE_NAME | varchar(13) | データ型を表す文字列。 基になる DBMS には、このデータ型名が表示されます。 |
COLUMN_SIZE | int | 有効桁数。 PRECISION 列の戻り値は、底 10 です。 |
BUFFER_LENGTH | int | データの転送サイズ。1 |
DECIMAL_DIGITS | smallint | 小数点の右側の桁数。 |
NUM_PREC_RADIX | smallint | 数値型の基数。 |
NULLABLE | smallint | null 値の許容を指定します。 1 = NULL 値を許容します。 0 = NULL 値を許容しません。 |
備考 | varchar(254) | このフィールドは常に NULL を返します。 |
COLUMN_DEF | varchar(254) | 列の既定値です。 |
SQL_DATA_TYPE | smallint | 記述子の TYPE フィールドでの SQL データ型の値です。 この列は、datetime データ型と SQL-92 間隔データ型を除き、DATA_TYPE列と同じです。 この列は常に値が返されます。 |
SQL_DATETIME_SUB | smallint | datetime データ型と SQL-92 間隔データ型のサブタイプ コード。 他のデータ型の場合、この列は NULL を返します。 |
CHAR_OCTET_LENGTH | int | 文字型または整数型の列の最大長 (バイト単位)。 その他のすべてのデータ型の場合、この列は NULL を返します。 |
ORDINAL_POSITION | int | テーブル内の列の序数位置。 テーブルの最初の列は 1 です。 この列は常に値が返されます。 |
IS_NULLABLE | varchar(254) | テーブル内の列の Null 許容性。 ISO 規則に従って null 値の許容を判断します。 ISO SQL 準拠の DBMS は、空の文字列を返すことができません。 YES = 列に NULL を含むことができます。 NO = 列に NULLS を含めることはできません。 null 許容性が不明な場合、この列は長さ 0 の文字列を返します。 この列に対して返される値は、 NULLABLE 列に返される値とは異なります。 |
SS_DATA_TYPE | tinyint | SQL Serverデータ型。拡張ストアド プロシージャで使用されます。 |
1 詳細については、Microsoft ODBC のドキュメントを参照してください。
解説
sp_columns_ex は、table_serverに対応する OLE DB プロバイダーの IDBSchemaRowset インターフェイスの COLUMNS 行 セットに対してクエリを実行することによって実行されます。 table_name、table_schema、table_catalog、列の各パラメーターをこのインターフェイスに渡して、返される行を制限します。
指定 したリンク サーバーの OLE DB プロバイダーが IDBSchemaRowset インターフェイスの COLUMNS 行セットをサポートしていない場合、sp_columns_exは空の結果セットを返します。
sp_columns_ex は、区切られた識別子の要件に従います。 詳細については、「データベース識別子」を参照してください。
アクセス許可
スキーマに対する SELECT アクセス許可が必要です。
例
次の例では、リンク サーバー JobTitle
上の AdventureWorks2022
データベースにある、HumanResources.Employee
テーブルの Seattle1
列のデータ型を返します。
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2022',
'JobTitle';
参照
sp_catalogs (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示