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() - 指定したデータソースに保存されたテーブルの名前のリストを取得する

関連キーワード:  PROCEDURE, プロシージャ, 取得, リスト, 保存, NUM, 指定, マッチ, パラメータ, PARAMS