Partilhar via


sp_tables (Transact-SQL)

Retorna uma lista de objetos que podem ser consultados no ambiente atual. Isso significa qualquer tabela ou exibição, com exceção de objetos de sinônimo.

ObservaçãoObservação

Para determinar o nome do objeto base de um sinônimo, consulte a exibição de catálogo sys.synonyms.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_tables [ [ @table_name = ] 'name' ] 
     [ , [ @table_owner = ] 'owner' ] 
     [ , [ @table_qualifier = ] 'qualifier' ] 
     [ , [ @table_type = ] "type" ] 
     [ , [@fUsePattern = ] 'fUsePattern'];

Argumentos

  • [ @table_name= ] 'name'
    É a tabela usada para retornar informações do catálogo. name é nvarchar(384), com um padrão de NULL. Há suporte para a correspondência do padrão curinga.

  • [ @table_owner= ] 'owner'
    É o proprietário da tabela usada para retornar informações do catálogo. owner é nvarchar(384), com um padrão de NULL. Há suporte para a correspondência do padrão curinga. Se o proprietário não for especificado, serão aplicadas as regras de visibilidade de tabela padrão do DBMS subjacente.

    No SQL Server, se o usuário atual possuir uma tabela com o nome especificado, as colunas dessa tabela serão retornadas. Se o proprietário não estiver especificado e o usuário atual não possuir uma tabela com o nome especificado, este procedimento procurará uma tabela com o nome especificado, pertencente ao proprietário do banco de dados. Caso exista, as colunas dessa tabela serão retornadas.

  • [ @table_qualifier= ] 'qualifier'
    É o nome do qualificador da tabela. qualifier é sysname, com um padrão de NULL. Vários produtos de DBMS oferecem suporte à nomeação de três partes de tabelas (qualifier**.owner.**name). No SQL Server, esta coluna representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela.

  • [ , [ @table_type= ] "'type', 'type'" ]
    É uma lista de valores, separados por vírgulas, que fornece informações sobre todas as tabelas dos tipos de tabela que estão especificados. Esses valores incluem TABLE, SYSTEMTABLE e VIEW. type é varchar(100), com um padrão de NULL.

    ObservaçãoObservação

    Aspas simples devem incluir cada tipo de tabela e aspas duplas devem incluir o parâmetro inteiro. Os tipos de tabela devem ser em maiúsculas. Se SET QUOTED_IDENTIFIER for ON, cada aspa simples deverá ser duplicada e o parâmetro inteiro deverá ser incluído entre aspas duplas.

  • [ @fUsePattern = ] 'fUsePattern'
    Determina se os caracteres sublinhado ( _ ), porcentagem ( % ) e colchetes ( [ ou ] ) são interpretados como curingas. Os valores válidos são 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

TABLE_QUALIFIER

sysname

Nome do qualificador de tabela. No SQL Server, esta coluna representa o nome do banco de dados. Esse campo pode ser NULL.

TABLE_OWNER

sysname

Nome do proprietário da tabela. No SQL Server, esta coluna representa o nome do usuário de banco de dados que criou a tabela. Este campo sempre retorna um valor.

TABLE_NAME

sysname

Nome da tabela. Este campo sempre retorna um valor.

TABLE_TYPE

varchar(32)

Tabela, tabela do sistema ou exibição.

REMARKS

varchar(254)

O SQL Server não retorna um valor para esta coluna.

Comentários

Para interoperabilidade máxima, o cliente de gateway deve pressupor correspondência apenas do padrão SQL SQL-92 (os caracteres curinga % e _).

As informações de privilégio sobre o acesso de leitura ou gravação do usuário atual a uma tabela específica nem sempre são verificadas. Portanto, o acesso não está garantido. Esse conjunto de resultados inclui não apenas tabelas e exibições, mas também sinônimos e aliases de gateways para produtos DBMS que oferecem suporte a esses tipos. Se o atributo de servidor ACCESSIBLE_TABLES for Y no conjunto de resultados de sp_server_info, somente as tabelas que podem ser acessadas pelo usuário atual serão retornadas.

sp_tables é equivalente a SQLTables em ODBC. Os resultados retornados são ordenados por TABLE_TYPE, TABLE_QUALIFIER, TABLE_OWNER e TABLE_NAME.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

A.Retornando uma lista de objetos que podem ser consultados no ambiente atual

O exemplo a seguir retorna uma lista de objetos que podem ser consultas no ambiente atual.

EXEC sp_tables ;

B.Retornando informações sobre as tabelas em um esquema especificado

O exemplo a seguir retorna informações sobre as tabelas que pertencem ao esquema Person no banco de dados AdventureWorks2012.

USE AdventureWorks2012;
GO
EXEC sp_tables 
   @table_name = '%',
   @table_owner = 'Person',
   @table_qualifier = 'AdventureWorks2012';

Consulte também

Referência

sys.synonyms (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)