(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_procedurecolumns — プロシージャへのパラメータに関する情報を取得する
$odbc,$catalog = null,$schema = null,$procedure = null,$column = nullプロシージャへのパラメータに関する情報を取得します。
odbcODBC 接続オブジェクト。詳細は odbc_connect() を参照ください。
catalogカタログ(ODBC 2 の用語では '修飾子')。
schema
スキーマ (ODBC 2 の用語では '所有者')。
このパラメータには以下の検索パターンを使用できます。
% はゼロ個以上の文字にマッチし、
_ はひとつの文字にマッチします。
procedure
プロシージャ。
このパラメータには以下の検索パターンを使用できます。
% はゼロ個以上の文字にマッチし、
_ はひとつの文字にマッチします。
column
カラム。
このパラメータには以下の検索パターンを使用できます。
% はゼロ個以上の文字にマッチし、
_ はひとつの文字にマッチします。
指定したプロシージャに関して入出力パラメータのリストとその結果を構成するカラムを返します。
ODBC 結果オブジェクトを返します。失敗した場合に false を返します。
結果セットのカラムは次のようになります。
PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAMECOLUMN_NAMECOLUMN_TYPEDATA_TYPETYPE_NAMECOLUMN_SIZEBUFFER_LENGTHDECIMAL_DIGITSNUM_PREC_RADIXNULLABLEREMARKSCOLUMN_DEFSQL_DATA_TYPESQL_DATETIME_SUBCHAR_OCTET_LENGTHORDINAL_POSITIONIS_NULLABLE
結果セットは PROCEDURE_CAT, PROCEDURE_SCHEM,
PROCEDURE_NAME, COLUMN_TYPE でソートされます。
| バージョン | 説明 |
|---|---|
| 8.4.0 |
引数 odbc は、Odbc\Connection クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、resource を期待していました。
|
| 8.4.0 | この関数は Odbc\Result クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。 |
| 8.0.0 | これより前のバージョンでは、 この関数は引数をひとつ、または5個指定した場合のみ、呼び出すことが可能でした。 |
例1 プロシージャーのカラムを表示する
<?php
$conn = odbc_connect($dsn, $user, $pass);
$columns = odbc_procedurecolumns($conn, 'TutorialDB', 'dbo', 'GetEmployeeSalesYTD;1', '%');
while (($row = odbc_fetch_array($columns))) {
print_r($row);
break; // further rows omitted for brevity
}
?>上の例の出力は、 たとえば以下のようになります。
Array
(
[PROCEDURE_CAT] => TutorialDB
[PROCEDURE_SCHEM] => dbo
[PROCEDURE_NAME] => GetEmployeeSalesYTD;1
[COLUMN_NAME] => @SalesPerson
[COLUMN_TYPE] => 1
[DATA_TYPE] => -9
[TYPE_NAME] => nvarchar
[COLUMN_SIZE] => 50
[BUFFER_LENGTH] => 100
[DECIMAL_DIGITS] =>
[NUM_PREC_RADIX] =>
[NULLABLE] => 1
[REMARKS] =>
[COLUMN_DEF] =>
[SQL_DATA_TYPE] => -9
[SQL_DATETIME_SUB] =>
[CHAR_OCTET_LENGTH] => 100
[ORDINAL_POSITION] => 1
[IS_NULLABLE] => YES
)