PHP Conference Nagoya 2025

odbc_procedures

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

odbc_procedures指定したデータソースに保存されているプロシージャのリストを取得する

説明

odbc_procedures(
    resource $odbc,
    ?string $catalog = null,
    ?string $schema = null,
    ?string $procedure = null
): resource|false

指定した範囲の全てのプロシージャのリストを取得します。

パラメータ

odbc

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

catalog

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

schema

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

procedure

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

戻り値

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

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

  • PROCEDURE_CAT
  • PROCEDURE_SCHEM
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE
ドライバは追加のカラムを返すことが出来ます。

結果セットは PROCEDURE_CAT, PROCEDURE_SCHEMA, PROCEDURE_NAME でソートされます。

変更履歴

バージョン 説明
8.0.0 これより前のバージョンでは、 この関数は引数をひとつ、または4個指定した場合のみ、呼び出すことが可能でした。

例1 データベースのプロシージャ一覧を表示する

<?php
$conn
= odbc_connect($dsn, $user, $pass);
$procedures = odbc_procedures($conn, $catalog, $schema, '%');
while ((
$row = odbc_fetch_array($procedures))) {
print_r($row);
break;
// further rows omitted for brevity
}
?>

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

Array
(
    [PROCEDURE_CAT] => TutorialDB
    [PROCEDURE_SCHEM] => dbo
    [PROCEDURE_NAME] => GetEmployeeSalesYTD;1
    [NUM_INPUT_PARAMS] => -1
    [NUM_OUTPUT_PARAMS] => -1
    [NUM_RESULT_SETS] => -1
    [REMARKS] =>
    [PROCEDURE_TYPE] => 2
)

参考

  • odbc_procedurecolumns() - プロシージャへのパラメータに関する情報を取得する
  • odbc_tables() - 指定したデータソースに保存されたテーブルの名前のリストを取得する

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top