sp_tables (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Devuelve una lista de objetos que se pueden consultar en el entorno actual. Esto significa cualquier tabla o vista, excepto los objetos sinónimos.
Nota:
Para determinar el nombre del objeto base de un sinónimo, realice una consulta en la vista de catálogo sys.synonyms.
Convenciones de sintaxis de Transact-SQL
Sintaxis
Sintaxis para SQL Server, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW):
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'
Tabla que se usa para devolver información de catálogo. @table_name es nvarchar(384), con un valor predeterminado de NULL
. Se admite la coincidencia de patrón de caracteres comodín.
[ @table_owner = ] N'table_owner'
Propietario de la tabla que se usa para devolver información del catálogo. @table_owner es nvarchar(384), con un valor predeterminado de NULL
. Se admite la coincidencia de patrón de caracteres comodín. Si no se especifica el propietario, se aplican las reglas de visibilidad de tabla predeterminadas del DBMS subyacente.
En SQL Server, si el usuario actual posee una tabla con el nombre especificado, se devuelven las columnas de esa tabla. Si no se especifica el propietario y el usuario actual no posee una tabla con el nombre especificado, este procedimiento busca una tabla con el nombre especificado propiedad del propietario de la base de datos. Si existe una, se devuelven las columnas de esa tabla.
[ @table_qualifier = ] N'table_qualifier'
Nombre del calificador de tabla. @table_qualifier es sysname, con un valor predeterminado de NULL
. Varios productos de DBMS admiten la nomenclatura de tres partes para tablas (<qualifier>.<owner>.<name>
). En SQL Server, esta columna representa el nombre de la base de datos. En algunos productos, representa el nombre de servidor del entorno de base de datos de la tabla.
[ @table_type = ] 'table_type'
Lista de valores, separados por comas, que proporciona información sobre todas las tablas de los tipos de tabla especificados. Estas incluyen TABLE
, SYSTEMTABLE
y VIEW
. @table_type es varchar(100), con un valor predeterminado de NULL
.
Cada tipo de tabla debe especificarse entre comillas simples y todo el parámetro debe especificarse entre comillas dobles. Los tipos de tabla deben especificarse en mayúsculas. Si SET QUOTED_IDENTIFIER
es ON
, cada comilla única debe duplicarse y todo el parámetro debe incluirse entre comillas simples.
[ @fUsePattern = ] fUsePattern
Determina si los caracteres de subrayado (), porcentaje (_
%
) y corchetes ([
o ]
) se interpretan como caracteres comodín. Los valores válidos son 0
(la coincidencia de patrones está desactivada) y 1
(la coincidencia de patrones está activada). @fUsePattern es bit, con un valor predeterminado de 1
.
Valores de código de retorno
Ninguno.
Conjunto de resultados
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
TABLE_QUALIFIER |
sysname | Nombre del calificador de la tabla. En SQL Server, esta columna representa el nombre de la base de datos. Este campo puede ser NULL . |
TABLE_OWNER |
sysname | Nombre del propietario. En SQL Server, esta columna representa el nombre del usuario de la base de datos que creó la tabla. Este campo siempre devuelve un valor. |
TABLE_NAME |
sysname | Nombre de la tabla. Este campo siempre devuelve un valor. |
TABLE_TYPE |
varchar(32) | Tabla, tabla del sistema o vista. |
REMARKS |
varchar(254) | SQL Server no devuelve un valor para esta columna. |
Comentarios
Para obtener la máxima interoperatividad, el cliente de la puerta de enlace solo debe dar por supuesta la concordancia del patrón estándar de SQL-92 (los caracteres comodín % y _).
No siempre se comprueba la información de privilegios sobre el acceso de lectura o escritura del usuario actual a una tabla específica. Por lo tanto, no se garantiza el acceso. Este conjunto de resultados no solo incluye tablas y vistas, sino también sinónimos y alias para las puertas de enlace a productos DBMS que admiten dichos tipos. Si el atributo ACCESSIBLE_TABLES
de servidor es Y en el conjunto de resultados para sp_server_info
, solo se devuelven las tablas a las que puede acceder el usuario actual.
sp_tables
es equivalente a SQLTables
en ODBC. Los resultados devueltos se ordenan mediante TABLE_TYPE
, TABLE_QUALIFIER
, TABLE_OWNER
y TABLE_NAME
.
Permisos
La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario ha recibido algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplos
A Devuelve una lista de objetos que se pueden consultar en el entorno actual.
En el siguiente ejemplo se devuelve una lista de objetos que pueden ser consultas en el entorno actual.
EXEC sp_tables;
B. Devolver información sobre las tablas de un esquema especificado
En el siguiente ejemplo se devuelve información sobre las tablas que pertenecen al esquema Person
de la base de datos AdventureWorks2022.
USE AdventureWorks2022;
GO
EXEC sp_tables
@table_name = '%',
@table_owner = 'Person',
@table_qualifier = 'AdventureWorks2022';
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
C. Devuelve una lista de objetos que se pueden consultar en el entorno actual.
En el siguiente ejemplo se devuelve una lista de objetos que pueden ser consultas en el entorno actual.
EXEC sp_tables;
D. Devolver información sobre las tablas de un esquema especificado
En el ejemplo siguiente se devuelve información sobre las tablas de dimensiones de una de base de datos AdventureWorksPDW2012
.
-- Uses AdventureWorks
EXEC sp_tables
@table_name = 'Dim%',
@table_owner = 'dbo',
@table_qualifier = 'AdventureWorksPDW2012';