Como se podrán dar cuenta seguimos siendo rudos. En lo personal creo que es bueno estar rolando el papel de rudo y técnico (tal vez sea tema de un nuevo post). Se me había olvidado comentarles que hemos estado desarrollando un sitio Web utilizando JBoss, Java (Spring, Hibernate y Faces) y Microsoft SQL (Stored Procedures, Funciones, Vistas, Sinonimos y Antonimos – este último es una broma). Bueno, una de las razones que utilizamos SP (Stored Procedures) es porque el cliente quiere controlar parte de la funcionalidad de la aplicación es esta herramienta.
Ahora bien, tal vez vayan a requerir borrar una o varias tablas pero tienen idea de que llaves foraneas tienen ligada a la tabla y peor aún, tienen una versión de SQL Management Studio anterior a la Base de Datos que tiene el cliente. Este query les puede ser de mucha ayuda:
DECLARE @descTabla VARCHAR(255) BEGIN SET @descTabla = 'OT%' SELECT 'ALTER TABLE ' + OBJECT_NAME(fok.parent_object_id) + ' DROP CONSTRAINT ' + fok.name FROM sysobjects obj INNER JOIN sys.foreign_keys fok ON fok.referenced_object_id = obj.id WHERE xtype='U' AND obj.name LIKE @descTabla END |
Recuerden solo cambiar el valor de la variable @descTabla
Otra funcionalidad que les puede ser de mucha ayuda es crear una tabla temporal (funcionalidad mejorada a partir de la versión 2000 ya que no tienes que borrar la tabla al finalizar el procedimiento):
DECLARE @tmpTabla TABLE( id INT IDENTITY(1,1), nombre VARCHAR(50)) |
Y bueno, ahora podrán utilizarla como como cualquier otra tabla. En el siguiente ejemplo, la estoy llenando con un SP:
INSERT INTO @tmpTabla EXEC sp_llenaTabla SELECT * FROM @tmpTabla |
Esperando les sean de gran utilidad esta información y bueno, los invito a que compartan algunos de sus Tips en este blog.