Lo que permite hacer es listar los objetos de la base de datos, pueden ser procedimientos almacenados, funciones definidas por el usuario, tablas de usuario, etc.
Alguien preguntará:
Para qué es útil ese trozo de código?
Bueno pues, en el desarrollo de software, nuevas versiones, etc… se van modificando también los objetos de la base de datos, primero en el servidor de pruebas, y luego hay que actualizar la base de datos en el servidor de producción… y cuando la base de datos tiene muchos objetos… resulta molesto y se pierde mucho tiempo reemplazando todo de nuevo… entonces, esta solución permite listar los objetos de la base de datos ordenados por fecha de modificación.
Vean el T-SQL:
--stored procedures
SELECT name, modify_date FROM sys.objects
WHERE type = 'P' AND name NOT LIKE 'sp_%'
ORDER BY modify_date DESC
--tables
SELECT name, modify_date FROM sys.objects
WHERE type = 'U'
ORDER BY modify_date DESC
--Functions
SELECT name, modify_date FROM sys.objects
WHERE type = 'FN'
ORDER BY modify_date DESC
En realidad pueden consultar por cualquier tipo de objeto, basta que quiten o cambien el WHERE, ejemplo:
SELECT name, modify_date FROM sys.objects
ORDER BY modify_date DESC
y pongan el tipo que necesitan. Más información en MSDN: sys.objects (Transact-SQL).
A partir de SQL 2008 este T-SQL ya no es necesario, porque el listado de procedimientos y tablas ya incluyen una columna llamada ÚLTIMA FECHA DE EDICIÓN.
Pero alguien se preguntará: Y para qué quiero la lista de objetos modificados si no obtengo automáticamente el código de esos objetos?
Porque la idea es finalmente obtener el código de los objetos de la base de datos modificados recientemente… Y eso lo veremos en el post que he titulado Obtener texto de procedimientos almacenados recientemente modificados.
;)
2 comentarios:
man gracias no hay formar de lista un servidor para toda las BD
Justo lo que buscaba muchas gracias
Publicar un comentario