Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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ção |
|---|
Para determinar o nome do objeto base de um sinônimo, consulte a exibição de catálogo sys.synonyms. |
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çãoAspas 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';