(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 術語中稱為「qualifier」)。
schema綱要(在 ODBC 2 術語中稱為「owner」)。此參數接受以下搜尋模式:% 匹配零個或多個字元,_ 匹配單個字元。
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 | 在此版本之前,該函式只能使用一個或五個參數呼叫。 |
範例 #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; // 為求簡潔,省略後續列
}
?>以上範例將輸出類似以下的內容
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
)