sp_sproc_columns (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric

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

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_sproc_columns
    [ [ @procedure_name = ] N'procedure_name' ]
    [ , [ @procedure_owner = ] N'procedure_owner' ]
    [ , [ @procedure_qualifier = ] N'procedure_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @ODBCVer = ] ODBCVer ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Argumentos

@procedure_name [ = ] N'procedure_name'

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

@procedure_owner [ = ] N'procedure_owner'

O nome do proprietário do procedimento. @procedure_owner é nvarchar(384), com um padrão de NULL. Há suporte para a correspondência do padrão curinga. Se @procedure_owner não for especificado, as regras de visibilidade de procedimento padrão do DBMS (sistema de gerenciamento de banco de dados) subjacente serão aplicadas.

Se o usuário atual possuir um procedimento com o nome especificado, serão retornadas informações sobre esse procedimento. Se @procedure_owner não for 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 pertence ao proprietário do banco de dados. Se o procedimento existir, serão retornadas informações sobre suas colunas.

@procedure_qualifier [ = ] N'procedure_qualifier'

O nome do qualificador de procedimento. @procedure_qualifier é sysname, com um padrão de NULL. Vários produtos DBMS suportam 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, ele representa o nome do servidor do ambiente de banco de dados da tabela.

@column_name [ = ] N'column_name'

Uma única coluna e é usada quando apenas uma coluna de informações do catálogo é desejada. @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 curinga. Para obter a interoperabilidade máxima, o cliente de gateway deve pressupor correspondência apenas do padrão ISO (curingas com % e _).

@ODBCVer [ = ] ODBCVer

A versão do ODBC que está sendo usada. @ODBCVer é int, com um padrão de 2, que indica ODBC versão 2.0. Para obter mais informações sobre as diferenças entre o ODBC versão 2.0 e o ODBC versão 3.0, consulte a especificação ODBC SQLProcedureColumns para ODBC versão 3.0.

@fUsePattern [ = ] fUsePattern

Determina se os caracteres sublinhado (_), porcentagem (%) e colchete ([ e ]) são interpretados como caracteres curinga. @fUsePattern é bit, com um padrão de 1. Os valores válidos são 0 (a correspondência de padrões está desativada) e 1 (a correspondência de padrões está ativada).

Valores do código de retorno

Nenhum.

Conjunto de resultados

Nome da coluna Tipo de dados Descrição
PROCEDURE_QUALIFIER sysname Nome do qualificador de procedimento. Essa 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 da coluna para 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 esse 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 TYPE_NAME coluna.
TYPE_NAME sysname Representação em cadeia de caracteres do tipo de dados. Esse valor é o nome do tipo de dados, conforme apresentado pelo DBMS subjacente.
PRECISION int Número de dígitos significativos. O valor retornado para a PRECISION coluna está na base 10.
LENGTH int Tamanho da transferência dos dados.
SCALE smallint Número de dígitos à direita da vírgula decimal.
RADIX smallint A base para tipos numéricos.
NULLABLE smallint Especifica a nulidade:

1 = O tipo de dados pode ser criado permitindo valores nulos.
0 = Valores nulos não são permitidos.
REMARKS varchar(254) Descrição da coluna de procedimento. O SQL Server não retorna um valor para essa coluna.
COLUMN_DEF nvarchar(4000) Valor padrão da coluna.
SQL_DATA_TYPE smallint Valor do tipo de dados SQL conforme ele aparece no TYPE campo do descritor. Essa coluna é igual à DATA_TYPE coluna, exceto para os tipos de dados datetime e intervalo ISO. Esta coluna sempre retorna um valor.
SQL_DATETIME_SUB smallint O subcódigo de intervalo ISO de data e hora se o valor de SQL_DATA_TYPE for SQL_DATETIME ou SQL_INTERVAL. Para tipos de dados diferentes de datetime e intervalo ISO, esse campo é NULL.
CHAR_OCTET_LENGTH int Comprimento máximo em bytes de uma coluna de tipo de dados binário ou de caracteres. Para todos os outros tipos de dados, essa coluna retorna um NULL.
ORDINAL_POSITION int Posição ordinal da coluna na tabela. A primeira coluna da tabela é 1. Esta coluna sempre retorna um valor.
IS_NULLABLE varchar(254) Possibilidade de nulidade da coluna na tabela. As regras ISO são seguidas para determinar a possibilidade de nulidade. Um SGBD compatível com ISO não pode retornar uma string vazia.

Exibe YES se a coluna pode incluir nulos e NO se a coluna não pode incluir nulos.

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

O valor retornado para essa coluna é diferente do valor retornado para a NULLABLE coluna.
SS_DATA_TYPE tinyint Tipo de dados do 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_NAME, e a ordem em que os parâmetros aparecem na definição do procedimento.

Permissões

Requer a permissão SELECT no esquema.