odbc_tables

指定したデータソースに保存されたテーブルの名前のリストを取得する

説明

resourcefalse odbc_tables(
    resource $odbc,
    stringnull $catalog = null,
    stringnull $schema = null,
    stringnull $table = null,
    stringnull $types = null
)

指定した範囲の全てのテーブルリストを得ます。

限定子、所有者、テーブル名を数えるために、 catalogschematabletable_type について以下のような特別な記号が使用可能です。

  • catalog がパーセント記号 (%) のみで、 schema および table が空文字列であった場合、結果にはそのデータソースに関する 有効な限定子のリスト (null を有する TABLE_QUALIFIER カラム以外の 全てのカラム)が含まれます。
  • schema がパーセント記号 (%) のみで、 catalog および table が空文字列の場合、結果にはその データソースに関する有効な所有者のリスト (null を有する TABLE_OWNER カラム以外の全てのカラム) が含まれます。
  • table_type がパーセント記号 (%) のみで、 catalogschematable が空文字列の場合、結果にはそのデータソースに 関する有効なテーブル型のリスト (null を有する TABLE_TYPE カラム以外の全てのカラム) が含まれます。

パラメータ

odbc

ODBC 接続 ID。詳細は odbc_connect を参照ください。

catalog

カタログ(ODBC 2 の用語では '修飾子')。

schema

スキーマ (ODBC 2 の用語では '所有者')。 このパラメータには以下の検索パターンを使用できます。 % はゼロ個以上の文字にマッチし、 _ はひとつの文字にマッチします。

table

名前。 このパラメータには以下の検索パターンを使用できます。 % はゼロ個以上の文字にマッチし、 _ はひとつの文字にマッチします。

types

table_type が空の文字列ではない場合、検索する型に ついてカンマで区切った値のリストを指定する必要があります。 各値は、シングルクオート(')で括るかまたは括らない形で指定可能です。 例えば、'TABLE','VIEW' または TABLE, VIEW となります。 データソースが指定したテーブル型をサポートしていない場合、 odbc_tables はその型についていかなる結果も 返しません。

戻り値

情報を含んでいる ODBC 結果 ID を返します。 失敗した場合に false を返します。

結果セットのカラムは次のようになります。

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS
ドライバは追加のカラムを返すことが出来ます。

結果セットは TABLE_TYPE, TABLE_CAT, TABLE_SCHEM, TABLE_NAME でソートされます。

変更履歴

バージョン 説明
8.0.0 schema, table, types は、nullable になりました。

例1 カタログのテーブル一覧を表示する

<?php
$conn = odbc_connect($dsn, $user, $pass);
$tables = odbc_tables($conn, 'SalesOrders', 'dbo', '%', 'TABLE');
while (($row = odbc_fetch_array($tables))) {
    print_r($row);
    break; // further rows omitted for brevity
}
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [TABLE_CAT] => SalesOrders
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => Orders
    [TABLE_TYPE] => TABLE
    [REMARKS] =>
)

参考

  • odbc_tableprivileges
  • odbc_columns
  • odbc_specialcolumns
  • odbc_statistics
  • odbc_procedures