miércoles, 21 de marzo de 2012

Estructura de tablas mediante un query SQL SERVER

En mi base de datos tengo una enorme cantidad de tablas y esquemas por lo que me tomaba mucho tiempo encontrar una tabla en el Object Explorer del SQL SERVER MANAGEMENT STUDIO, por lo que construí el siguiente query para encontrarlas por medio del nombre:


SELECT (d.name + '.' + a.name) AS Tabla, b.name AS Campo, c.name AS [Tipo de Dato], b.max_length AS Longitud, (CASE b.is_nullable WHEN 0 THEN 'Not Null' ELSE 'Null' END) AS [Null?], (CASE b.is_identity WHEN 0 THEN 'No' ELSE 'Sí' END) AS [Identity?], a.object_id AS Id
FROM sys.all_objects a JOIN sys.all_columns b ON a.object_id = b.object_id JOIN sys.types c ON b.user_type_id = c.user_type_id JOIN sys.schemas d ON a.schema_id = d.schema_id
WHERE
--a.object_id = 1837249600
a.name LIKE '%PRECIO%'
ORDER BY d.name, a.name, b.column_id

Deben cambiar la palabra PRECIO por el nombre de la tabla que quieran encontrar.

Si quieren encontrar el ID de la tabla que están buscando, deben escribir lo siguiente:


SELECT b.name AS Esquema, a.name AS Tabla, (b.name + '.' + a.name) AS Nombre, a.object_id AS Id
FROM sys.all_objects a JOIN sys.schemas b ON a.schema_id = b.schema_id
WHERE a.type = 'U'
AND a.name LIKE '%PRECIO%'
ORDER BY b.name, a.name

Y nuevamente reemplazando la palabra PRECIO por la que les interesa y luego este ID lo podrían utilizar en el query de arriba en la línea que está comentareada.

De esta manera pueden desplegar la estructura de una tabla de SQL SERVER con un query a la base de datos.

No hay comentarios:

Publicar un comentario