odbc_procedurecolumns
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_procedurecolumns — Retrieve information about parameters to procedures
Description
Odbc\Connection
$odbc,?string
$catalog = null,?string
$schema = null,?string
$procedure = null,?string
$column = null): Odbc\Result|false
Retrieve information about parameters to procedures.
Parameters
odbcThe ODBC connection object, see odbc_connect() for details.
catalogThe catalog ('qualifier' in ODBC 2 parlance).
schemaThe schema ('owner' in ODBC 2 parlance). This parameter accepts the following search patterns:
%to match zero or more characters, and_to match a single character.procedureThe proc. This parameter accepts the following search patterns:
%to match zero or more characters, and_to match a single character.columnThe column. This parameter accepts the following search patterns:
%to match zero or more characters, and_to match a single character.
Return Values
Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures. Returns an ODBC result object or false on failure.
The result set has the following columns:
PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAMECOLUMN_NAMECOLUMN_TYPEDATA_TYPETYPE_NAMECOLUMN_SIZEBUFFER_LENGTHDECIMAL_DIGITSNUM_PREC_RADIXNULLABLEREMARKSCOLUMN_DEFSQL_DATA_TYPESQL_DATETIME_SUBCHAR_OCTET_LENGTHORDINAL_POSITIONIS_NULLABLE
The result set is ordered by PROCEDURE_CAT, PROCEDURE_SCHEM, PROCEDURE_NAME and COLUMN_TYPE.
Changelog
| Version | Description |
|---|---|
| 8.4.0 | odbc expects an Odbc\Connection instance now; previously, a resource was expected. |
| 8.4.0 | This function returns an Odbc\Result instance now; previously, a resource was returned. |
| 8.0.0 | Prior to this version, the function could only be called with either one or five arguments. |
Examples
Example #1 List Columns of a stored Procedure
<?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
}
?>The above example will output something similar to:
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
)See Also
- odbc_columns() - Lists the column names in specified tables