2024 PHP Conference Japan

odbc_statistics

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_statistics擷取表格的統計資訊

說明

odbc_statistics(
    Odbc\Connection $odbc,
    ?string $catalog,
    string $schema,
    string $table,
    int $unique,
    int $accuracy
): Odbc\Result|false

取得表格及其索引的統計資訊。

參數

odbc

ODBC 連線物件,詳情請參閱 odbc_connect()

catalog

目錄(在 ODBC 2 術語中稱為 'qualifier')。

schema(綱要)

綱要(在 ODBC 2 術語中稱為 'owner')。

資料表

資料表名稱。

unique(唯一性)

索引類型。SQL_INDEX_UNIQUESQL_INDEX_ALL 其中之一。

accuracy(準確度)

SQL_ENSURESQL_QUICK 其中之一。後者要求驅動程式僅在伺服器 readily available 時才擷取 CARDINALITYPAGES

回傳值

傳回 ODBC 結果物件,失敗時則傳回 false

結果集包含以下欄位

  • TABLE_CAT(資料表目錄)
  • TABLE_SCHEM(資料表綱要)
  • TABLE_NAME(資料表名稱)
  • NON_UNIQUE(非唯一)
  • INDEX_QUALIFIER(索引限定詞)
  • INDEX_NAME(索引名稱)
  • TYPE(類型)
  • ORDINAL_POSITION(序號位置)
  • COLUMN_NAME(欄位名稱)
  • ASC_OR_DESC(升序或降序)
  • CARDINALITY(基數)
  • PAGES(頁數)
  • FILTER_CONDITION(過濾條件)
驅動程式可以回報額外的欄位。

結果集依 NON_UNIQUETYPEINDEX_QUALIFIERINDEX_NAMEORDINAL_POSITION 排序。

更新日誌

版本 說明
8.4.0 odbc 現在需要 Odbc\Connection 實例;先前需要的是 resource
8.4.0 此函式現在傳回 Odbc\Result 實例;先前傳回的是 resource

範例

範例 #1 列出資料表的統計資訊

<?php
$conn
= odbc_connect($dsn, $user, $pass);
$statistics = odbc_statistics($conn, 'TutorialDB', 'dbo', 'TEST', SQL_INDEX_UNIQUE, SQL_QUICK);
while ((
$row = odbc_fetch_array($statistics))) {
print_r($row);
break;
// 為求簡潔,省略後續列
}
?>

上述範例將輸出類似以下的內容

Array
(
    [TABLE_CAT] => TutorialDB
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => TEST
    [NON_UNIQUE] =>
    [INDEX_QUALIFIER] =>
    [INDEX_NAME] =>
    [TYPE] => 0
    [ORDINAL_POSITION] =>
    [COLUMN_NAME] =>
    [ASC_OR_DESC] =>
    [CARDINALITY] => 15
    [PAGES] => 3
    [FILTER_CONDITION] =>
)

參見

  • odbc_tables() - 取得儲存在特定資料來源中的資料表名稱列表

新增註解

使用者貢獻的註解 1 則註解

eion at bigfoot dot com
13 年前
此函式有幾個參數未定義

unique - 決定是否只返回唯一索引或所有索引。此參數使用 SQL_INDEX_UNIQUE 或 SQL_INDEX_ALL。

accuracy - 決定是否返回關於表格的所有資訊,或只返回容易取得的資訊。此參數使用 SQL_ENSURE 或 SQL_QUICK。

關於此函式的更多資訊,請參閱 ODBC 函式 SQLStatistics(),網址為 http://msdn.microsoft.com/en-us/library/ms711022(v=vs.85).aspx
To Top