sp_sproc_columns (Transact-SQL)

Retorna informações de coluna de um único procedimento armazenado ou função definida pelo usuário no ambiente atual.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_sproc_columns [[@procedure_name = ] 'name'] 
    [ , [@procedure_owner = ] 'owner'] 
    [ , [@procedure_qualifier = ] 'qualifier'] 
    [ , [@column_name = ] 'column_name']
    [ , [@ODBCVer = ] 'ODBCVer']
    [ , [@fUsePattern = ] 'fUsePattern']

Argumentos

  • [ @procedure_name = ] 'name'
    É o nome do procedimento usado para retornar informações de catálogo. name é nvarchar(390), com um padrão de %, o que significa todas as tabelas no banco de dados atual. Há suporte para a correspondência do padrão de caractere curinga.

  • [ @procedure_owner =] 'owner'
    É o nome do proprietário do procedimento. owneré nvarchar(384), com um padrão de NULL. Há suporte para a correspondência do padrão de caractere curinga. Se owner não for especificado, serão aplicadas as regras de visibilidade de procedimento padrão do DBMS subjacente.

    Se o usuário atual possuir um procedimento com o nome especificado, serão retornadas informações sobre esse procedimento. Se owner não estiver especificado e o usuário atual não possuir um procedimento com o nome especificado, sp_sproc_columns procurará um procedimento com o nome especificado que seja de propriedade do proprietário do banco de dados. Se o procedimento existir, serão retornadas informações sobre suas colunas.

  • [ @procedure_qualifier =] 'qualifier'
    É o nome do qualificador do procedimento. qualifier é sysname, com um padrão de NULL. Diversos produtos de DBMS dão suporte à nomenclatura de três partes para tabelas qualifier.owner.name). No SQL Server, esse parâmetro representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela.

  • [ @column_name =] 'column_name'
    É uma única coluna, usado quando se deseja apenas uma coluna de informações de catálogo. column_name é nvarchar(384), com um padrão de NULL. Se column_name for omitido, todas as colunas serão retornadas. Há suporte para a correspondência do padrão de caractere curinga. Para interoperabilidade máxima, o cliente de gateway deve pressupor correspondência apenas do padrão ISO (curingas com % e _).

  • [ @ODBCVer =] 'ODBCVer'
    É a versão de ODBC que está sendo utilizada. ODBCVer é int, com um padrão de 2 que indica ODBC versão 2.0. Para obter mais informações sobre a diferença entre ODBC versão 2.0 e ODBC versão 3.0, consulte a especificação SQLProcedureColumns para ODBC versão 3.0

  • [ @fUsePattern =] 'fUsePattern'
    Determina se os caracteres sublinhado (_), porcentagem (%) e colchetes ([ ]) são interpretados como curingas. São valores válidos 0 (correspondência de padrão desativada) e 1 (correspondência de padrão ativada). fUsePattern é bit, com um padrão de 1.

Valores de código de retorno

Nenhum

Conjuntos de resultados

Nome da coluna

Tipo de dados

Descrição

PROCEDURE_QUALIFIER

sysname

Nome do qualificador de procedimento. Esta coluna pode ser NULL.

PROCEDURE_OWNER

sysname

Nome do proprietário do procedimento. Esta coluna sempre retorna um valor.

PROCEDURE_NAME

nvarchar(134)

Nome do procedimento. Esta coluna sempre retorna um valor.

COLUMN_NAME

sysname

Nome de cada coluna do TABLE_NAME retornado. Esta coluna sempre retorna um valor.

COLUMN_TYPE

smallint

Este campo sempre retorna um valor:

0 = SQL_PARAM_TYPE_UNKNOWN

1 = SQL_PARAM_TYPE_INPUT

2 = SQL_PARAM_TYPE_OUTPUT

3 = SQL_RESULT_COL

4 = SQL_PARAM_OUTPUT

5 = SQL_RETURN_VALUE

DATA_TYPE

smallint

Código de inteiro para um tipo de dados de ODBC. Se este tipo de dados não puder ser mapeado para um tipo ISO, o valor será NULL. O nome do tipo de dados nativo é retornado na coluna TYPE_NAME.

TYPE_NAME

sysname

Representação em cadeia de caracteres do tipo de dados. É o nome do tipo de dados como apresentado pelo DBMS subjacente.

PRECISION

int

Número de dígitos significativos. O valor de retorno da coluna PRECISION está em base 10.

LENGTH

int

Tamanho da transferência dos dados.

SCALE

smallint

Número de dígitos à direita do ponto decimal.

RADIX

smallint

É a base para tipos numéricos.

NULLABLE

smallint

Especifica possibilidade de nulidade:

1 = O tipo de dados pode ser criado permitindo valores nulos.

0 = Não são permitidos valores nulos.

REMARKS

varchar(254)

Descrição da coluna de procedimento. SQL Server não retorna um valor para esta coluna.

COLUMN_DEF

nvarchar(4000)

Valor padrão da coluna.

SQL_DATA_TYPE

smallint

Valor do tipo de dados SQL como ele aparece no campo TYPE do descritor. Esta coluna é igual à coluna DATA_TYPE, com exceção dos tipos de dados datetime e intervalo ISO. Esta coluna sempre retorna um valor.

SQL_DATETIME_SUB

smallint

O subcódigo datetime de intervalo ISO, se o valor de SQL_DATA_TYPE for SQL_DATETIME ou SQL_INTERVAL. Para tipos de dados diferentes de datetime e intervalo ISO, este campo é NULL.

CHAR_OCTET_LENGTH

int

Tamanho máximo em bytes de uma coluna de tipo de dados character ou binary. Para todos os outros tipos de dados, esta coluna retorna NULL.

ORDINAL_POSITION

int

Posição ordinal da coluna na tabela. A primeira coluna na tabela é 1. Esta coluna sempre retorna um valor.

IS_NULLABLE

varchar(254)

Possibilidade de nulidade da coluna na tabela. São seguidas regras de ISO para determinar a possibilidade de nulidade. Um DBMS com conformidade de ISO não pode retornar uma cadeia de caracteres vazia.

Exibe YES, se a coluna puder incluir NULLS, e NO, se a coluna não puder incluir NULLS.

Esta coluna retorna uma cadeia de caracteres de comprimento zero se a possibilidade de nulidade for desconhecida.

O valor retornado para esta coluna é diferente do valor retornado para a coluna NULLABLE.

SS_DATA_TYPE

tinyint

Tipo de dados SQL Server usados por procedimentos armazenados estendidos. Para obter mais informações, consulte Tipos de dados (Transact-SQL).

Comentários

sp_sproc_columns é equivalente a SQLProcedureColumns em ODBC. Os resultados retornados são ordenados por PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAMEe a ordem em que os parâmetros aparecem na definição de procedimento.

Permissões

Requer a permissão SELECT no esquema.