表 53 PsqlDataReader の GetSchemaTable で返される列
列
|
説明
|
ColumnName
|
列の名前。列名は一意でない場合もあります。判断できない場合は、null 値が返されます。この名前は、現在のビュー内またはコマンド テキスト内の列に対する最新の名前変更を常に反映した名前になります。
|
ColumnOrdinal
|
列の序数。この列に null 値を含めることはできません。行のブックマーク列(ある場合)はゼロになります。その他の列は 1 から順に番号が付けられます。
|
ColumnSize
|
列の値に許容される最大長。固定長データ型を使用する列では、そのデータ型のサイズになります。
|
NumericPrecision
|
列の精度。これは ProviderType での列の定義方法によって決まります。
ProviderType が数値データ型の場合、これは列の最大精度になります。
ProviderType が数値データ型以外の場合は、null 値になります。
|
NumericScale
|
小数点の右側の桁数。これは、ProviderType が DBTYPE_DECIMAL または DBTYPE_NUMERIC の場合です。それ以外の場合は、null 値になります。
この値は、ProviderType での列の定義方法によって決まります。
|
DataType
|
列を .NET Framework の型にマップします。
|
ProviderType
|
列のデータ型のインジケーター。この列に null 値を含めることはできません。
列のデータ型が行によって異なる場合は、Object である必要があります。
|
IsLong
|
非常に長いデータを格納する BLOB が列に含まれている場合に設定されます。このフラグの設定は、データ型の、PROVIDER_TYPES 行セット内の IS_LONG 列の値に対応します。
非常に長いデータの定義は、プロバイダーによって異なります。
|
AllowDBNull
|
コンシューマーが列に null 値を設定できる場合や、コンシューマーが列に null 値を設定できるかどうかをデータ プロバイダーが判断できない場合に、設定されます。それ以外の場合は、設定されません。
列を null 値に設定できない場合でも、null 値が含まれている可能性があります。
|
IsReadOnly
|
列を変更できるかどうかを決定します。
列が変更できない場合は true、それ以外の場合は false です。
|
IsRowVersion
|
書き込み禁止で、行の識別以外に意味のない値を持つ永続的な行 ID が列に格納されている場合に、設定されます。
|
IsUnique
|
列自体がキーを構成しているか、あるいは、その列だけに適用される UNIQUE 型の制約があるかどうかを示します。
true に設定した場合、ベース テーブル(BaseTableName で返されるテーブル)の行は、この列に同じ値を格納できません。
false(デフォルトの初期値)に設定した場合は、ベース テーブルでこの列に重複する値を格納できます。
|
IsKey
|
列のセットが行セットの 1 行を一意に識別するかどうかを指定します。この列のセットは、ベース テーブルの主キー、一意の制約、または重複のないインデックスから生成することができます。
列が、行セット内の列のセットのうちの 1 つで、これらを基に行を一意に識別する場合は true です。列が行を一意に識別する必要がない場合は false です。
|
IsAutoIncrement
|
新しい行に固定インクリメントで値を割り当てるかどうかを指定します。
VARIANT_TRUE に設定すると、列は新しい行に固定インクリメントで値を割り当てます。
VARIANT_FALSE(デフォルトの初期値)に設定すると、列は新しい行に固定インクリメントで値を割り当てません。
|
BaseSchemaName
|
列を格納している、データベース内のスキーマの名前。基本スキーマ名を判断できない場合は null 値です。
デフォルトの初期値は null です。
|
BaseCatalogName
|
列を格納している、データ ストア内のカタログの名前。基本カタログ名を判断できない場合は null 値が使用されます。
デフォルトの初期値は null です。
|
BaseTableName
|
列を格納している、データ ストア内のテーブルまたはビューの名前。基本テーブル名を判断できない場合は null 値が使用されます。
デフォルトの初期値は null です。
|
BaseColumnName
|
データ ストア内での列名。エイリアスが使用された場合は、ColumnName 列に返される列名とは異なることがあります。基本列名を判断できない場合や、データベース内の列から派生した行セット列であるのにそれと一致しない場合は、null 値が使用されます。
デフォルトの初期値は null です。
|
IsAliased
|
列の名前がエイリアスであるかどうかを指定します。列名がエイリアスであれば、値 true が返されます。そうでなければ、false が返されます。
|
IsExpression
|
列の名前が式であるかどうかを指定します。列が式であれば、値 true が返されます。そうでなければ、false が返されます。
|
IsIdentity
|
列の名前が ID 列であるかどうかを指定します。列が ID 列であれば、値 true が返されます。そうでなければ、false が返されます。
|
IsHidden
|
列の名前が非表示であるかどうかを指定します。列が表示されない場合は、値 true が返されます。そうでなければ、false が返されます。
|