SQL Engine Reference (v11)

dbo.fSQLSpecialColumns

この関数は、指定されたテーブルの以下のような列情報を取得します。

テーブル内の行を一意に識別する最適な列のセット、および、トランザクションによって行内の任意の値が更新されたときに自動的に更新される列。

構文

dbo.fSQLSpecialColumns (<'database_qualifier' | null>, <'table_name' | null>,  
    <'nullable' | null>)  

引数

表 120 dbo.fSQLSpecialColumns の引数
パラメーター
データ型
デフォルト値
説明
database_qualifier
VARCHAR
現在のデータベース
詳細を取得するデータベースの名前
table_name
VARCHAR
(デフォルト値なし)
列情報を要求するテーブルの名前
nullable
SMALLINT
(デフォルト値なし)
ヌル値を持つことができる特殊な列を返すかどうかを判断します。次のいずれかでなければなりません。
  • 0 = SQL_NO_NULLS - ヌル値を持つことができる特殊な列を除外します。
  • 1 = SQL_NULLABLE - ヌル値を持つことができる特殊な列を返します。

返される結果セット

表 121 dbo.fSQLSpecialColumns で返される結果セット
列名
データ型
説明
SCOPE
SMALLINT
rowid の適用範囲。次のいずれかの値を含みます。
  • 0 = SQL_SCOPE_CURROW
  • 1 = SQL_SCOPE_TRANSACTION
  • 2 = SQL_SCOPE_SESSION
IdentifierType が SQL_ROWVER である場合は、NULL が返されます。
COLUMN_NAME
NULL でない VARCHAR
列の名前。名前のない列については、空文字列が返されます。
DATA_TYPE
NULL でない SMALLINT
ODBC SQL データ型。「Pervasive PSQL で使用できるデータ型」も参照してください。
PRECISION
INTEGER
データベース内のプロシージャ列のサイズ。「Decimal データ型の精度と小数点以下桁数」も参照してください。
LENGTH
INTEGER
SQL_C_DEFAULT が指定された場合は、SQLGetData または SQLFetch 操作で転送されるデータの長さ(バイト単位)。数値データの場合、このサイズは、データベースに格納されているデータのサイズとは異なる場合があります。「Pervasive PSQL で使用できるデータ型」も参照してください。
SCALE
SMALLINT
データベース内のプロシージャ列の小数点以下の桁数。小数点以下の桁数が適用されないデータ型では、NULL が返されます。「Decimal データ型の精度と小数点以下桁数」も参照してください。
PSEUDO_COLUMN
SMALLINT
列が擬似列であるかどうかを示します。
  • 0 = SQL_PC_UNKNOWN
Pervasive PSQL は擬似列をサポートしません。

この例では次のようなテーブルを作成します。テーブルは行を一意に識別する 2 つの列を持ち、トランザクションが行内の任意の値を更新したときにそれらの列が自動的に更新されます。

CREATE TABLE t2 (c1 IDENTITY, c2 INTEGER, c3 SMALLINT NOT NULL, c4 TIMESTAMP NOT NULL) 
ALTER TABLE t2 ADD PRIMARY KEY (c1, c4) 
 
SELECT * FROM dbo.fSQLSpecialColumns ('Demodata' ,'t2' , 'null') 

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

COLUMN_NAME  DATA_TYPE  TYPE_NAME  PRECISION  LENGTH 
===========  =========  =========  =========  ====== 
c1                   4  INTEGER            4       4 
c4                  11  DATETIME          16      16 
 
2 行が影響を受けました。 

dbo.fSQLProcedureColumns

dbo.fSQLStatistics