次の方法で共有


sp_columns_ex (Transact-SQL)

指定したリンク サーバー テーブルに対し、1 列あたり 1 行の列情報を返します。 column を指定した場合、sp_columns_ex では特定列のみの列情報が返されます。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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 です。 既定値の 2 は ODBC Version 2 を示します。 有効な値は 2 または 3 です。 バージョン 2 と 3 の動作の相違については、ODBC の SQLColumns 仕様を参照してください。

リターン コードの値

なし

結果セット

列名

データ型

説明

TABLE_CAT

sysname

テーブルまたはビュー修飾子の名前。 さまざまな DBMS 製品で、3 つの要素で構成されたテーブル名 (qualifier.owner.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 値を許容しません。

REMARKS

varchar(254)

このフィールドは常に NULL を返します。

COLUMN_DEF

varchar(254)

列の既定値です。

SQL_DATA_TYPE

smallint

記述子の TYPE フィールドでの SQL データ型の値です。 この列は、datetime データ型と SQL-92 interval データ型を除き、DATA_TYPE 列と同じです。 この列は常に値を返します。

SQL_DATETIME_SUB

smallint

datetime および SQL-92 interval データ型のサブタイプ コード。 他のデータ型の場合、この列は NULL を返します。

CHAR_OCTET_LENGTH

int

文字型または整数型の列の最大長 (バイト単位)。 他のすべてのデータ型では、この列は NULL を返します。

ORDINAL_POSITION

int

テーブル内での列の序数。 テーブルの最初の列は 1 です。 この列は常に値を返します。

IS_NULLABLE

varchar(254)

テーブル内にある列の NULL 値の許容属性。 NULL 値の許容属性の検査は ISO の規則に従います。 ISO SQL に準拠している DBMS では、空文字列を返すことはできません。

YES = 列に NULL を含むことができます。

NO = 列に NULL を含むことができません。

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、および column の各パラメーターは、返される行を制限するために、このインターフェイスに渡されます。

指定されたリンク サーバーの OLE DB プロバイダーで IDBSchemaRowset インターフェイスの COLUMNS 行セットがサポートされない場合、sp_columns_ex では空の結果セットが返されます。

権限

スキーマに対する SELECT 権限が必要です。

説明

sp_columns_ex は、区切られた識別子に必要な要件に従います。 詳細については、「データベース識別子」を参照してください。

使用例

次の例では、リンク サーバー Seattle1 上の AdventureWorks2012 データベースにある、HumanResources.Employee テーブルの JobTitle 列のデータ型を返します。

EXEC sp_columns_ex 'Seattle1', 
   'Employee', 
   'HumanResources', 
   'AdventureWorks2012', 
   '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)