sp_tables (Transact-SQL)
Retorna uma lista de objetos que podem ser consultados no ambiente atual. Isso significa qualquer tabela de usuário, tabela do sistema 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. |
Sintaxe
sp_tables [ [ @table_name = ] 'name' ]
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
[ , [ @table_type = ] "type" ]
[ , [@fUsePattern = ] 'fUsePattern'];
Argumentos
[ @table_name= ] 'name'
É a tabela ou exibição usada para retornar informações de catálogo. name é nvarchar(384), com um padrão NULL. Há suporte para a correspondência de padrão curinga.[ @table_owner= ] 'owner'
É o proprietário da tabela usada para retornar informações de catálogo. owner é nvarchar(384), com um padrão NULL. Há suporte para a correspondência de padrão curinga. Se o proprietário não for especificado, serão aplicadas as regras de visibilidade de tabela ou exibição 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 de tabela. qualifier é sysname, com um padrão NULL. Diversos produtos de DBMS dão suporte à nomenclatura de três partes para tabelas (qualifier**.owner.**name). No SQL Server, esta coluna representa o nome do banco de dados. Em alguns produtos, isso 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. Eles incluem TABLE, SYSTEMTABLE e VIEW. type é varchar(100), com um padrão NULL.Observaçã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 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. Este 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 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 consultados no ambiente atual.
EXEC sp_tables ;
B. Retornando informações sobre as tabelas em um banco de dados
O exemplo a seguir retorna informações sobre as tabelas que pertencem ao esquema Person no banco de dados AdventureWorks2008R2.
USE AdventureWorks2008R2;
GO
EXEC sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks2008R2';
Consulte também