PSQL 関数1 | 戻り値 |
---|---|
現在のデータベースまたは指定されたデータベースの、特定テーブルの列の一覧とそれに関連する情報。 | |
現在のデータベース内の特定テーブルの外部キー情報。 | |
現在のデータベースまたは指定されたデータベースの、特定テーブルの主キー情報。 | |
現在のデータベースまたは指定されたデータベースの、ストアド プロシージャの名前。 | |
入力パラメーターおよび出力パラメーターのリストと、指定されたプロシージャの結果セットを構成する列。 | |
指定されたテーブル内の行を一意に識別する最適な列セットに関する情報、または、トランザクションによって行内の任意の値が更新されたときに自動的に更新される列に関する情報。 | |
現在のデータベースまたは指定されたデータベースの、ある単一テーブルに関する統計情報と、そのテーブルに関連付けられているインデックスの一覧。 | |
現在のデータベースまたは指定されたデータベースの、テーブルの一覧とそれに関連する情報。 | |
1 PSQL のカタログ関数は ODBC に基づいているので、追加情報については ODBC のドキュメントを参照してください。ここに記述されている内容は、PSQL カタログ関数を理解し使用するのに十分な情報を提供していますが、完全な技術的詳細は含まれていません。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
database_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前。 |
table_name | VARCHAR | (デフォルト値なし) | 列情報を要求するテーブルの名前 |
column_name | VARCHAR | 指定したテーブルのすべての列 | 指定したテーブルの列名。 |
列名 | データ型 | 説明 |
---|---|---|
TABLE_QUALIFIER | VARCHAR | データベースの名前。データベースに適用されない場合は NULL。 |
TABLE_OWNER | VARCHAR | テーブルのスキーマ名。データベースに適用されない場合は NULL。 |
TABLE_NAME | NULL でない VARCHAR | テーブルの名前 |
COLUMN_NAME | VARCHAR | テーブルの列名、または、名前のない列の場合は空文字列。 |
DATA_TYPE | NULL でない SMALLINT | 列の SQL データ型コード。PSQL トランザクショナルおよびリレーショナル データ型を参照してください。 |
TYPE_NAME | VARCHAR | 列のデータ型の、DATA_TYPE 値に対応する名前 |
PRECISION | INTEGER | 列の精度(列のデータ型が Decimal、Numeric などである場合)。Decimal データ型の精度と小数点以下桁数を参照してください。 DATA_TYPE が CHAR または VARCHAR である場合、この列には列の最大長(文字単位)が格納されます。これは、日付時刻データ型の場合は、値が文字列に変換されたときに、その値を表示するために必要な文字の総数になります。数値データ型の場合は、RADIX 列に応じて、列で許可される桁数の合計またはビット数の合計のいずれかになります。 |
LENGTH | INTEGER | SQL_C_DEFAULT が指定された場合は、SQLGetData、SQLFetch、または SQLFetchScroll 操作で転送されるデータの長さ(バイト単位)。 数値データの場合、このサイズは、データベースに格納されているデータのサイズとは異なる場合があります。この値は、文字データの COLUMN_SIZE 列とは異なる場合があります。 |
SCALE | SMALLINT | 小数点の右側にある有効桁の総数。TIME および TIMESTAMP の場合、この列には小数の秒部分の桁数が格納されます。 それ以外のデータ型では、これはデータベース内の列の小数点以下の桁数です。Decimal データ型の精度と小数点以下桁数を参照してください。 |
RADIX | SMALLINT | 数値データ型の基数 数値データ型の場合は、10 または 2 のいずれかです。 •10 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可される小数点以下の桁数を示します。 •2 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可されるビット数を示します。 RADIX が適用されないデータ型では、NULL が返されます。 |
NULLABLE | SMALLINT | プロシージャ列がヌル値を受け入れるかどうかを示します。 •0 = NO_NULLS - プロシージャ列はヌル値を受け入れません。 •1 = NULLABLE - プロシージャ列はヌル値を受け入れます。 •2 = 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 列に返される値とは異なります。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
table_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前。 |
pkey_table_name | VARCHAR | (デフォルト値なし) | 主キー列に外部キーが関連付けられているテーブルの名前。パターン検索がサポートされます(文字列検索パターンを参照してください)。 |
fkey_table_name | VARCHAR | (デフォルト値なし) | 外部キー情報を取得する必要のあるテーブルの名前。パターン検索がサポートされます(文字列検索パターンを参照してください)。 |
列名 | データ型 | 説明 |
---|---|---|
PKTABLE_QUALIFIER | VARCHAR | 主キー テーブルのデータベース名。データベースに適用されない場合は NULL。 |
PKTABLE_OWNER | VARCHAR | 主キー テーブルのオーナーの名前。データベースに適用されない場合は NULL。 |
PKTABLE_NAME | NULL でない VARCHAR | 主キー テーブルの名前 |
PKCOLUMN_NAME | NULL でない VARCHAR | 主キー列の列名名前のない列については、空文字列が返されます。 |
FKTABLE_QUALIFIER | VARCHAR | 外部キー テーブルのデータベース名。データベースに適用されない場合は NULL。 |
FKTABLE_OWNER | VARCHAR | 外部キー テーブルのオーナーの名前。データベースに適用されない場合は NULL。 |
FKTABLE_NAME | NULL でない VARCHAR | 外部キー テーブルの名前。 |
FKCOLUMN_NAME | NULL でない VARCHAR | 外部キー列の列名名前のない列については、空文字列が返されます。 |
KEY_SEQ | SMALLINT | キーにおける列のシーケンス番号(1 から始まります)。この列の値は、X$Index の Xi$Part に対応します。X$Index を参照してください。 |
UPDATE_RULE | SMALLINT | SQL 操作が UPDATE であるとき、外部キーに適用される動作。次のいずれかの値になります。 •0 = CASCADE •1 = RESTRICT |
DELETE_RULE | SMALLINT | SQL 操作が DELETE であるとき、外部キーに適用される動作。次のいずれかの値になります。 •0 = CASCADE •1 = RESTRICT |
FK_NAME | VARCHAR | 外部キーの名前。データベースに適用されない場合は NULL。 |
PK_NAME | VARCHAR | 主キーの名前。データベースに適用されない場合は NULL。 |
DEFERRABILITY | SMALLINT | 次のいずれかの値です。 •5 = INITIALLY_DEFERRED •6 = INITIALLY_IMMEDIATE •7 = NOT_DEFERRABLE |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
pkey_table_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前。 |
table_name | VARCHAR | (デフォルト値なし) | 主キー情報を要求するテーブルの名前。パターン検索がサポートされます(文字列検索パターンを参照してください)。 |
列名 | データ型 | 説明 |
---|---|---|
TABLE_QUALIFIER | VARCHAR | データベースの名前。データベースに適用されない場合は NULL。 |
TABLE_OWNER | VARCHAR | 主キー テーブルのオーナーの名前。データベースに適用されない場合は NULL。 |
TABLE_NAME | NULL でない VARCHAR | 主キー テーブルの名前 |
COLUMN_NAME | NULL でない VARCHAR | 主キー列の名前。名前のない列については、空文字列が返されます。 |
COLUMN_SEQ | NULL でない SMALLINT | キーにおける列のシーケンス番号(1 から始まります)。 |
PK_NAME | VARCHAR | 主キーの名前。データベースに適用されない場合は NULL。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
database_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前。 |
procedure_name | VARCHAR | (デフォルト値なし) | 情報を要求するストアド プロシージャの名前 |
列名 | データ型 | 説明 |
---|---|---|
PROCEDURE_QUALIFIER | VARCHAR | プロシージャが作成されたデータベースの名前。データベースに適用されない場合は NULL。 |
PROCEDURE_OWNER | VARCHAR | プロシージャ スキーマ識別子。データベースに適用されない場合は NULL。 |
PROCEDURE_NAME | NULL でない VARCHAR | プロシージャ識別子 |
NUM_INPUT_PARAMS | なし | 今後の使用に備えて予約されています。アプリケーションには使用しないでください。 |
NUM_OUTPUT_PARAMS | なし | 今後の使用に備えて予約されています。アプリケーションには使用しないでください。 |
NUM_RESULT_SETS | なし | 今後の使用に備えて予約されています。アプリケーションには使用しないでください。 |
REMARKS | VARCHAR | プロシージャの解説。 |
PROCEDURE_TYPE | SMALLINT | プロシージャの種類を定義します。 •0 = PT_UNKNOWN - プロシージャが値を返すかどうかを判断できません。 •1 = PT_PROCEDURE - 返されるオブジェクトはプロシージャで、戻り値はありません。 •2 = PT_FUNCTION - 返されるオブジェクトは関数で、戻り値があります。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
database_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前。 |
procedure_name | VARCHAR | (デフォルト値なし) | 情報を要求するストアド プロシージャの名前 |
procedure_column_name | VARCHAR | (デフォルト値なし) | プロシージャの列の名前。 |
列名 | データ型 | 説明 |
---|---|---|
PROCEDURE_QUALIFIER | VARCHAR | プロシージャが作成されたデータベースの名前。データベースに適用されない場合は NULL。 |
PROCEDURE_OWNER | VARCHAR | プロシージャ スキーマ識別子。データベースに適用されない場合は NULL。 |
PROCEDURE_NAME | NULL でない VARCHAR | プロシージャ識別子 |
COLUMN_TYPE | NULL でない SMALLINT | プロシージャ列をパラメーターまたは結果セット列として定義します。 •0 = PARAM_TYPE_UNKNOWN - プロシージャ列は種類が不明なパラメーターです。 •1 = PARAM_INPUT - プロシージャ列は入力パラメーターです。 •2 = PARAM_INPUT_OUTPUT - プロシージャ列は入力/出力パラメーターです。 •3 = RESULT_COL - プロシージャ列は結果セット列です。 •4 = PARAM_OUTPUT - プロシージャ列は出力パラメーターです。 •5 = RETURN_VALUE - プロシージャ列はプロシージャの戻り値です。 |
DATA_TYPE | NULL でない SMALLINT | SQL データ型。PSQL で使用できるデータ型も参照してください。 |
TYPE_NAME | NULL でない VARCHAR | リレーショナル データ型名。PSQL で使用できるデータ型も参照してください。 |
PRECISION | INTEGER | データベース内のプロシージャ列のサイズ。列サイズが適用されないデータ型では、NULL が返されます。Decimal データ型の精度と小数点以下桁数も参照してください。 |
LENGTH | INTEGER | SQL_C_DEFAULT が指定された場合は、SQLGetData または SQLFetch 操作で転送されるデータの長さ(バイト単位)。数値データの場合、このサイズは、データベースに格納されているデータのサイズとは異なる場合があります。PSQL で使用できるデータ型も参照してください。 |
SCALE | SMALLINT | データベース内のプロシージャ列の小数点以下の桁数。小数点以下の桁数が適用されないデータ型では、NULL が返されます。Decimal データ型の精度と小数点以下桁数も参照してください。 |
RADIX | SMALLINT | 数値データ型の場合は、10 または 2 のいずれかです。 •10 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可される小数点以下の桁数を示します。 •2 - COLUMN_SIZE および DECIMAL_DIGITS の値は、列で許可されるビット数を示します。 RADIX が適用されないデータ型では、NULL が返されます。 |
NULLABLE | NULL でない SMALLINT | プロシージャ列がヌル値を受け入れるかどうかを示します。 •0 = NO_NULLS - プロシージャ列はヌル値を受け入れません。 •1 = NULLABLE - プロシージャ列はヌル値を受け入れます。 •2 = 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 列に返される値とは異なります。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
database_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前 |
table_name | VARCHAR | (デフォルト値なし) | 列情報を要求するテーブルの名前 |
nullable | SMALLINT | (デフォルト値なし) | ヌル値を持つことができる特殊な列を返すかどうかを判断します。次のいずれかでなければなりません。 •0 = NO_NULLS - ヌル値を持つことができる特殊な列を除外します。 •1 = NULLABLE - ヌル値を持つことができる特殊な列を返します。 |
列名 | データ型 | 説明 |
---|---|---|
SCOPE | SMALLINT | rowid の適用範囲。次のいずれかの値を含みます。 •0 = SCOPE_CURROW •1 = SCOPE_TRANSACTION •2 = SCOPE_SESSION IdentifierType が SQL_ROWVER である場合は、NULL が返されます。 |
COLUMN_NAME | NULL でない VARCHAR | 列の名前。名前のない列については、空文字列が返されます。 |
DATA_TYPE | NULL でない SMALLINT | SQL データ型。PSQL で使用できるデータ型も参照してください。 |
PRECISION | INTEGER | データベース内のプロシージャ列のサイズ。Decimal データ型の精度と小数点以下桁数も参照してください。 |
LENGTH | INTEGER | SQL_C_DEFAULT が指定された場合は、SQLGetData または SQLFetch 操作で転送されるデータの長さ(バイト単位)。数値データの場合、このサイズは、データベースに格納されているデータのサイズとは異なる場合があります。PSQL で使用できるデータ型も参照してください。 |
SCALE | SMALLINT | データベース内のプロシージャ列の小数点以下の桁数。小数点以下の桁数が適用されないデータ型では、NULL が返されます。Decimal データ型の精度と小数点以下桁数も参照してください。 |
PSEUDO_COLUMN | SMALLINT | 列が擬似列であるかどうかを示します。 •0 = PC_UNKNOWN PSQL は擬似列をサポートしません。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
database_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前 |
table_name | VARCHAR | (デフォルト値なし) | 列情報を要求するテーブルの名前。パターン検索がサポートされます(文字列検索パターンを参照してください)。 |
unique | SMALLINT | (デフォルト値なし) | インデックスの種類: 0 = INDEX_UNIQUE 1 = INDEX_ALL |
列名 | データ型 | 説明 |
---|---|---|
TABLE_QUALIFIER | VARCHAR | 統計情報またはインデックスが適用されるテーブルを含んでいるデータベースの名前。データベースに適用されない場合は NULL。 |
TABLE_OWNER | VARCHAR | 統計情報またはインデックスが適用されるテーブルのスキーマ名。データベースに適用されない場合は NULL。 |
TABLE_NAME | NULL でない VARCHAR | 統計情報またはインデックスが適用されるテーブルの名前。 |
NON_UNIQUE | SMALLINT | インデックスが重複値を許可しないかどうかを示します。 •0 = FALSE - インデックス値が一意である必要がある場合。 •1 = TRUE - インデックス値が一意でなくてもよい場合。 TYPE が TABLE_STAT である場合は、NULL が返されます。 |
INDEX_QUALIFIER | VARCHAR | DROP INDEX を行うインデックス名を修飾するために使用されている識別子。インデックス修飾子がデータベースでサポートされない場合、または TYPE が TABLE_STAT である場合は、NULL が返されます。 |
INDEX_NAME | VARCHAR | インデックス名。TYPE が TABLE_STAT である場合は、NULL が返されます。 |
TYPE | NULL でない SMALLINT | 返される情報の種類: •0 = TABLE_STAT •3 = INDEX_OTHER |
SEQ_IN_INDEX | SMALLINT | インデックスにおける列のシーケンス番号(1 から始まります)。TYPE が TABLE_STAT である場合は、NULL が返されます。 |
COLUMN_NAME | VARCHAR | 列名。列が PERSONID + NAME などのような式に基づている場合は、その式が返されます。式を判断できない場合は、空文字列が返されます。 TYPE が TABLE_STAT である場合は、NULL が返されます。 |
COLLATION | CHAR | 列の並べ替え順。 A = 昇順 D = 降順 列の並べ替え順がデータベースでサポートされない場合、または TYPE が TABLE_STAT である場合は、NULL が返されます。 |
CARDINALITY | INTEGER | テーブルまたはインデックスの基数。 TYPE が TABLE_STAT である場合は、テーブル内の行数。TYPE が TABLE_STAT でない場合は、インデックスに含まれる一意な値の数。 この値をデータベースから入手できない場合は、NULL が返されます。 |
PAGES | INTEGER | インデックスまたはテーブルの格納に使用されるページ数。 TYPE が TABLE_STAT である場合は、テーブルのページ数。TYPE が TABLE_STAT でない場合は、インデックスのページ数。 この値をデータベースから入手できない場合、またはデータベースに適用されない場合は、NULL が返されます。 |
FILTER_CONDITION | VARCHAR | インデックスがフィルター選択されたインデックスである場合は、これは CLASSID > 150 などのようなフィルター条件になります。フィルター条件を判断できない場合、これは空文字列になります。 インデックスがフィルターされたインデックスでない場合、フィルターされたインデックスであるかどうかを判断できない場合、あるいは TYPE が TABLE_STAT である場合は、NULL になります。 |
パラメーター | データ型 | デフォルト値 | 説明 |
---|---|---|---|
database_qualifier | VARCHAR | 現在のデータベース | 詳細を取得するデータベースの名前 |
table_name | VARCHAR | (デフォルト値なし) | 情報を取得する必要のあるテーブルの名前 |
type | VARCHAR | (デフォルト値なし) | 次のいずれかでなければなりません。 •TABLE - ユーザー テーブルのみ返します •SYSTEM TABLE - すべてのシステム テーブルを返します •VIEW - ビューのみ返します •ヌル - すべてのテーブルを返します |
列名 | データ型 | 説明 |
---|---|---|
TABLE_QUALIFIER | VARCHAR | データベースの名前。データベースに適用されない場合は NULL。 |
TABLE_OWNER | VARCHAR | テーブル所有者の名前。データベースに適用されない場合は NULL。 |
TABLE_NAME | VARCHAR | テーブルの名前 |
TABLE_TYPE | VARCHAR | 次のいずれかです。 •TABLE •VIEW •SYSTEM TABLE |
REMARKS | VARCHAR | テーブルの記述。 |
ステートメントの例 | 戻り値 |
---|---|
SELECT * FROM dbo.fSQLStatistics ( null, '%', 0 ) | 現在のデータベースにある、一意のインデックスを持つすべてのテーブル |
SELECT * FROM dbo.fSQLStatistics ( null, '%', 1 ) | 現在のデータベースにある、名前が 't' で始まり、インデックスを持つすべてのテーブル |
SELECT * FROM dbo.fSQLPrimaryKeys ( null, '%' ) | 現在のデータベースにある、主キーを持つすべてのテーブル |
SELECT * FROM dbo.fSQLPrimaryKeys ( null, 't%' ) | 現在のデータベースにある、名前が 't' で始まり、主キーを持つすべてのテーブル |
SELECT * FROM dbo.fSQLForeignKeys ( null, '%' , '%' ) | 現在のデータベースにある、主キーを持つすべてのテーブルと、それに関連する外部キー テーブル |