Php/docs/function.odbc-procedurecolumns
odbc_procedurecolumns
(PHP 4, PHP 5, PHP 7)
odbc_procedurecolumns — Retrieve information about parameters to procedures
Description
odbc_procedurecolumns
( resource $connection_id
) : resource|false
odbc_procedurecolumns
( resource $connection_id
, string $catalog
, string $schema
, string $proc
, string $column
) : resource|false
Retrieve information about parameters to procedures.
Parameters
connection_id- The ODBC connection identifier, see odbc_connect() for details.
catalog- The catalog ('qualifier' in ODBC 2 parlance).
schema- The 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. proc- The proc. This parameter accepts the following search patterns:
%to match zero or more characters, and_to match a single character. column- The 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 identifier 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
Drivers can report additional columns.
The result set is ordered by PROCEDURE_CAT, PROCEDURE_SCHEM,
PROCEDURE_NAME and COLUMN_TYPE.
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
)