(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_procedurecolumns — Recupera informações sobre parâmetros para procedimentos
$odbc,$catalog = null,$schema = null,$procedure = null,$column = nullRecupera informações sobre parâmetros para procedimentos.
odbcO objeto da conexão ODBC. Consulte odbc_connect() para obter detalhes.
catalogO catálogo ('qualifier' na linguagem ODBC 2).
schema
O esquema ('owner' na linguagem ODBC 2).
Este parâmetro aceita os seguintes padrões de pesquisa:
% para corresponder a zero ou mais caracteres
e _ para corresponder a um único caractere.
procedure
O procedimento.
Este parâmetro aceita os seguintes padrões de pesquisa:
% para corresponder a zero ou mais caracteres
e _ para corresponder a um único caractere.
column
A coluna.
Este parâmetro aceita os seguintes padrões de pesquisa:
% para corresponder a zero ou mais caracteres
e _ para corresponder a um único caractere.
Retorna a lista de parâmetros de entrada e saída, bem como as
colunas que compõem o conjunto de resultados dos procedimentos especificados.
Retorna um objeto de resultado ODBC ou false em caso de falha.
O conjunto de resultados possui as seguintes colunas:
PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAMECOLUMN_NAMECOLUMN_TYPEDATA_TYPETYPE_NAMECOLUMN_SIZEBUFFER_LENGTHDECIMAL_DIGITSNUM_PREC_RADIXNULLABLEREMARKSCOLUMN_DEFSQL_DATA_TYPESQL_DATETIME_SUBCHAR_OCTET_LENGTHORDINAL_POSITIONIS_NULLABLE
O conjunto de resultados é ordenado por PROCEDURE_CAT, PROCEDURE_SCHEM,
PROCEDURE_NAME e COLUMN_TYPE.
| Versão | Descrição |
|---|---|
| 8.4.0 |
odbc agora espera uma instância de Odbc\Connection;
anteriormente, esperava um resource.
|
| 8.4.0 | Esta função agora retorna uma instância de Odbc\Result; anteriormente, retornava um resource. |
| 8.0.0 | Antes desta versão, a função só podia ser chamada com um ou cinco argumentos. |
Exemplo #1 Lista colunas de um procedimento armazenado
<?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; // outras linhas omitidas por questões de brevidade
}
?>O exemplo acima produzirá algo semelhante a:
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
)