SQL Engine Reference (v11)

dbo.fSQLColumns

この関数は、指定されたテーブルの列名の一覧を返します。

構文

dbo.fSQLColumns <'database_qualifier' | null>, <'table_
name' | null>, <'column_name' | null>) 

引数

表 109 dbo.fSQLColumns の引数
パラメーター
データ型
デフォルト値
説明
database_qualifier
VARCHAR
現在のデータベース
詳細を取得するデータベースの名前。
table_name
VARCHAR
(デフォルト値なし)
列情報を要求するテーブルの名前
column_name
VARCHAR
指定したテーブルのすべての列
指定したテーブルの列名。

返される結果セット

表 110 dbo.fSQLColumns で返される結果セット
列名
データ型
説明
TABLE_QUALIFIER
VARCHAR
データベースの名前。データベースに適用されない場合は NULL。
TABLE_OWNER
VARCHAR
テーブルのスキーマ名。データベースに適用されない場合は NULL。
TABLE_NAME
NULL でない VARCHAR
テーブルの名前
COLUMN_NAME
VARCHAR
テーブルの列名、または、名前のない列の場合は空文字列。
DATA_TYPE
NULL でない SMALLINT
列の ODBC データ型コード。「Pervasive PSQL データ型と対応する ODBC データ型」を参照してください。
TYPE_NAME
VARCHAR
列のデータ型の、DATA_TYPE 値に対応する名前
PRECISION
INTEGER
列の精度(列のデータ型が Decimal、Numeric などである場合)。「Decimal データ型の精度と小数点以下桁数」を参照してください。
DATA_TYPE が SQL_CHAR または SQL_VARCHAR である場合、この列には列の最大長(文字単位)が格納されます。これは、日付時刻データ型の場合は、値が文字列に変換されたときに、その値を表示するために必要な文字の総数になります。数値データ型の場合は、RADIX 列に応じて、列で許可される桁数の合計またはビット数の合計のいずれかになります。
LENGTH
INTEGER
SQL_C_DEFAULT が指定された場合は、SQLGetData、SQLFetch、または SQLFetchScroll 操作で転送されるデータの長さ(バイト単位)。
数値データの場合、このサイズは、データベースに格納されているデータのサイズとは異なる場合があります。この値は、文字データの COLUMN_SIZE 列とは異なる場合があります。
SCALE
SMALLINT
小数点の右側にある有効桁の総数。SQL_TYPE_TIME および SQL_TYPE_TIMESTAMP の場合、この列には小数の秒部分の桁数が格納されます。
それ以外のデータ型では、これはデータベース内の列の小数点以下の桁数です。「Decimal データ型の精度と小数点以下桁数」を参照してください。
RADIX
SMALLINT
数値データ型の基数
数値データ型の場合は、10 または 2 のいずれかです。
  • 10 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可される小数点以下の桁数を示します。
  • 2 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可されるビット数を示します。
RADIX が適用されないデータ型では、NULL が返されます。
NULLABLE
SMALLINT
プロシージャ列がヌル値を受け入れるかどうかを示します。
  • 0 = SQL_NO_NULLS - プロシージャ列はヌル値を受け入れません。
  • 1 = SQL_NULLABLE - プロシージャ列はヌル値を受け入れます。
  • 2 = SQL_NULLABLE_UNKNOWN - プロシージャ列がヌル値を受け入れるかどうかわかりません。
REMARKS
VARCHAR
備考フィールド
COLUMN_DEF
VARCHAR
列のデフォルト値。
デフォルト値として NULL が指定された場合、この列は、引用符で囲まれていない単語の NULL になります。デフォルト値を切り捨てなしで表すことができない場合は、一重引用符で囲まれていない TRUNCATED が格納されます。デフォルト値が指定されていない場合は、NULL になります。
SQL_DATA_TYPE
NULL でない SMALLINT
記述子の SQL_DESC_TYPE フィールドに表示される SQL データ型の値。この列は、データ型 DATE、TIME、DATETIME、および TIMESTAMP を除き、TYPE_NAME 列と同じです。
例外とするデータ型について、結果セットの SQL_DATA_TYPE フィールドは次のように値を返します。DATE は SQL_DATE、TIME は SQL_TIME、DATETIME および TIMESTAMP は SQL_TIMESTAMP です。
SQL_DATETIME_SUB
SMALLINT
DATE、TIME、DATETIME、および TIMESTAMP のサブタイプ コード。その他のデータ型について、この列は NULL を返します。
  • 1 = DATE(SQL_CODE_DATE)
  • 2 = TIME(SQL_CODE_TIME)
  • 3 = DATETIME および TIMESTAMP(SQL_CODE_TIMESTAMP)
CHAR_OCTET_LENGTH
INTEGER
文字またはバイナリ データ型列の最大長(バイト単位)。その他すべてのデータ型について、この列は NULL を返します。
ORDINAL_POSITION
NULL でない INTEGER
入力および出力パラメーターについては、プロシージャ定義におけるパラメーターの位置を表す序数(1 から始まり、増加するパラメーター順)。
戻り値がある場合、戻り値については 0 が返されます。結果セット列については、結果セットにおける列の位置を表す序数。この場合、結果セット列の最初の列は 1 から始まります。
IS_NULLABLE
VARCHAR
列に NULL が含まれていない場合は "NO"。
列に NULL が含まれている場合は "YES"。
ヌル値を許可するかどうかわからない場合、この列は長さゼロの文字列を返します。この列に返される値は、NULLABLE 列に返される値とは異なります。

次の例は、デフォルトの DEMODATA サンプル データベースに含まれる、Room テーブルのすべての列に関する情報を返します。

SELECT * FROM dbo.fSQLColumns ('Demodata', 'room', null) 
 

結果セット(スペースを考慮して短縮されています):

COLUMN_NAME     DATA_TYPE   LENGTH   ORDINAL_POSITION 
==============  =========   ======   ================ 
Building_Name           1       25                  1 
Number                  4        4                  2 
Capacity                5        2                  3 
Type                    1       20                  4 
 
4 行が影響を受けました。 

Pervasive PSQL システム カタログ関数

dbo.fSQLForeignKeys