Retrieve information about parameters to procedures

# odbc_procedurecolumns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_procedurecolumns — Retrieve information about parameters to procedures

### 说明

function odbc_procedurecolumns(
Odbc\Connection `$odbc`,
?string `$catalog` = `null`,
?string `$schema` = `null`,
?string `$procedure` = `null`,
?string `$column` = `null`
): Odbc\Result|false

Retrieve information about parameters to procedures.

### 参数

`odbc`
  ODBC 连接对象，详见 odbc_connect()。
`catalog`

  The catalog ('qualifier' in ODBC 2 parlance).

`schema`

  The schema ('owner' in ODBC 2 parlance). 此参数接受下列查询模式： `%` 来匹配零到多个字符， `_` 来匹配单个字符。

`procedure`

  The proc. 此参数接受下列查询模式： `%` 来匹配零到多个字符， `_` 来匹配单个字符。

`column`

  The column. 此参数接受下列查询模式： `%` 来匹配零到多个字符， `_` 来匹配单个字符。

### 返回值

Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures. 返回 ODBC 结果对象 或者在失败时返回 `false`。

The result set has the following columns:

- `PROCEDURE_CAT`
- `PROCEDURE_SCHEM`
- `PROCEDURE_NAME`
- `COLUMN_NAME`
- `COLUMN_TYPE`
- `DATA_TYPE`
- `TYPE_NAME`
- `COLUMN_SIZE`
- `BUFFER_LENGTH`
- `DECIMAL_DIGITS`
- `NUM_PREC_RADIX`
- `NULLABLE`
- `REMARKS`
- `COLUMN_DEF`
- `SQL_DATA_TYPE`
- `SQL_DATETIME_SUB`
- `CHAR_OCTET_LENGTH`
- `ORDINAL_POSITION`
- `IS_NULLABLE`

Drivers can report additional columns.

The result set is ordered by `PROCEDURE_CAT`, `PROCEDURE_SCHEM`, `PROCEDURE_NAME` and `COLUMN_TYPE`.

### 更新日志

版本 | 说明
--- | ---
8.4.0 | `odbc` 现在需要 Odbc\Connection 实例；之前需要 resource。
8.4.0 | 此函数现在返回 Odbc\Result 实例；之前返回 resource。
8.0.0 | Prior to this version, the function could only be called with either one or five arguments.

### 示例

示例 #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
    }
    ?>

以上示例的输出类似于：

    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
    )

### 参见

- odbc_columns() - Lists the column names in specified tables

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open