2010-05-21 15 views

Respuesta

8

de otra manera, también trabajará en MySQL y PostgreSQL

select TABLE_NAME from INFORMATION_SCHEMA.TABLES 
where TABLE_TYPE = 'BASE TABLE' 
4

Prueba esto:

SELECT s.NAME + '.' + t.NAME AS TableName 
FROM sys.tables t 
INNER JOIN sys.schemas s 
    ON t.schema_id = s.schema_id 

mostrará el nombre del esquema + tabla para todas las tablas en la base de datos actual.

Aquí hay una versión que listará cada tabla en cada base de datos en el servidor actual. permite que un parámetro de búsqueda para ser utilizado en cualquier parte o partes del servidor de base de datos + + + esquema de nombres de tablas:

SET NOCOUNT ON 
DECLARE @AllTables table (CompleteTableName nvarchar(4000)) 
DECLARE @Search nvarchar(4000) 
     ,@SQL nvarchar(4000) 
SET @Search=null --all rows 
SET @SQL='select @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name from [?].sys.tables t inner join sys.schemas s on t.schema_id=s.schema_id WHERE @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name LIKE ''%'+ISNULL(@SEARCH,'')+'%''' 

INSERT INTO @AllTables (CompleteTableName) 
    EXEC sp_msforeachdb @SQL 
SET NOCOUNT OFF 
SELECT * FROM @AllTables ORDER BY 1 

conjunto @Search a NULL para todas las tablas, puso a cosas como '' dbo.users o 'usuarios' o '.master.dbo' o incluso incluir comodines como, etc.

1

para obtener la información campos también, puede utilizar el siguiente '.master% u..':

SELECT TABLE_SCHEMA, TABLE_NAME, 
     COLUMN_NAME, substring(DATA_TYPE, 1,1) AS DATA_TYPE 
FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA NOT IN("information_schema", "mysql", "performance_schema") 
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION 
0
sys.tables 

Contiene todas las tablas. así que ejecute esta consulta para obtener todas las tablas con detalles.

SELECT * FROM sys.tables 

enter image description here

o simplemente seleccione el nombre desde sys.tables para obtener el nombre de todas las tablas.

SELECT Name From sys.tables 
0

Utilice la siguiente consulta para enumerar las tablas en su base de datos.

select name from sys.Tables 

Además, se puede añadir una condición where, saltarse el sistema genera tablas y listas único usuario de mesa creado por la adición de type ='U'

Ex: select name from sys.Tables where type ='U'

+0

Utilice el formato adecuado donde sea apropiado. – svgrafov

+0

Sure Jens..gracias :) –

Cuestiones relacionadas