sp_tables (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
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 do catálogo sys.synonyms.
Convenções de sintaxe de Transact-SQL
Sintaxe
Sintaxe para SQL Server, Banco de Dados SQL do Azure, Azure Synapse Analytics, Parallel Data Warehouse:
sp_tables
[ [ @table_name = ] N'table_name' ]
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @table_type = ] 'table_type' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Argumentos
[ @table_name = ] N'table_name'
A tabela usada para retornar informações do catálogo. @table_name é nvarchar(384), com um padrão de NULL
. Há suporte para a correspondência do padrão curinga.
@table_owner [ = ] N'table_owner'
O proprietário da tabela usada para retornar informações de catálogo. @table_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, as regras de visibilidade de tabela padrão do DBMS subjacente serão aplicadas.
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 for especificado e o usuário atual não possuir uma tabela com o nome especificado, este procedimento procurará uma tabela com o nome especificado de propriedade do proprietário do banco de dados. Caso exista, as colunas dessa tabela serão retornadas.
@table_qualifier [ = ] N'table_qualifier'
O nome do qualificador de tabela. @table_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, essa coluna representa o nome do banco de dados. Em alguns produtos, ele representa o nome do servidor do ambiente de banco de dados da tabela.
@table_type [ = ] 'table_type'
Uma lista de valores, separados por vírgulas, que fornece informações sobre todas as tabelas dos tipos de tabela especificados. Elas incluem TABLE
, SYSTEMTABLE
e VIEW
. @table_type é varchar(100), com um padrão de NULL
.
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 deve ser dobrada e o parâmetro inteiro deve ser colocado entre aspas simples.
@fUsePattern [ = ] fUsePattern
Determina se os caracteres de sublinhado (_
), porcentagem (%
) e colchete ([
ou ]
) são interpretados como caracteres curinga. Os valores válidos são 0
(a correspondência de padrão está desativada) e 1
(a correspondência de padrão está ativada). @fUsePattern é bit, com um padrão de 1
.
Valores do código de retorno
Nenhum.
Conjunto de resultados
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
TABLE_QUALIFIER |
sysname | Nome do qualificador de tabela. No SQL Server, essa coluna representa o nome do banco de dados. Este campo pode ser NULL . |
TABLE_OWNER |
sysname | O 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. Esse campo sempre retorna um valor. |
TABLE_NAME |
sysname | Nome da tabela. Esse 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 é 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 ACCESSIBLE_TABLES
do servidor for Y no conjunto de resultados para 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
A visibilidade dos metadados em exibições de catálogo é limitada a protegíveis que um usuário possui ou nos quais o usuário recebeu alguma permissão. Para obter mais informações, consulte Metadata Visibility Configuration.
Exemplos
R. Retornar 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. Retornar 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 do AdventureWorks2022.
USE AdventureWorks2022;
GO
EXEC sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks2022';
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
C. Retornar 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;
D. Retornar informações sobre as tabelas em um esquema especificado
O exemplo a seguir retorna informações sobre as tabela de dimensões no banco de dados AdventureWorksPDW2012
.
-- Uses AdventureWorks
EXEC sp_tables
@table_name = 'Dim%',
@table_owner = 'dbo',
@table_qualifier = 'AdventureWorksPDW2012';
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de