Prueba

De: [email protected] [mailto:[email protected]] En nombre de Amaro Silva
Enviado el: Viernes, 19 de Marzo de 2010 03:04 p.m.
Para: GUFA List Member
Asunto: [GUFA] Fwd: OT Sql

 

 

Si no me equivoco con esto vas a poder ver todas las constraint con su
nombre de una tabla capaz te sirva:

SELECT restricciones.name AS constrain,tabla.name AS tabla FROM sysobjects
AS restricciones
INNER JOIN sysobjects AS tabla ON restricciones.parent_obj=tabla.id
WHERE tabla.[name]='empleado'
and restricciones.xtype IN ('D','F','PK','UQ','FK','C')


El 19/03/2010 12:38, PabloC <[email protected]> escribió:


> 
> 
> 
> 
> Ahora entendi, gracias por la aclaración
> 
> No te sirve lo que respondió Alejandro?
> 
>  
> 
> 
> 
> Saludos
> 
> PabloC
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
> De:
> [email protected] [mailto:[email protected]] En nombre de Massetti Sebastian
> 
> Enviado el: Viernes, 19 de Marzo de 2010 12:22
> 
> Para: GUFA List Member
> 
> Asunto: [GUFA] OT Sql
> 
> 
> 
> 
> 
> 
> 
>  
> 
> Tengo que buscar todos los
> campos cuyo nombre sea o empiece con “idprovincia” en todas las
> tablas que contengan dicho campo, en 86 bases de datos diferentes.
> 
> Ese tipo de cambios implica que
> las constrains en cada tabla y en cada base seguramente tengan distinto
nombre.
> 
> No es tan simple como correr el
> scrip que SQLSERVER me muestra para ese campo y esa tabla en particular,
se
> trata de borrar masivamente constraints a las que no les conozco el nombre
> 
> Eso se puede hacer perfectamente
> en SQL 2000 porque puedo conocer con un query el nombre de cada constraint
pero
> en sql2005 se me complicó.
> 
>  
> 
>  
> 
> 
> 
> 
> 
> De:
> [email protected] [mailto:[email protected]] En nombre de PabloC
> 
> Enviado el: Viernes, 19 de Marzo de 2010 11:23 a.m.
> 
> Para: GUFA List Member
> 
> Asunto: [GUFA] OT Sql
> 
> 
> 
> 
> 
> 
> 
>  
> 
> No, no lo entiendo
> 
> Si vas a modificar 1500 campos y
> el script generado te muestra como hacerlo y también borra cada constrain,
no
> entiendo cual es el problema. Perdona pero no lo comprendo
> 
>  
> 
> 
> 
> Saludos
> 
> PabloC
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
> De:
> [email protected] [mailto:[email protected]] En nombre de Massetti Sebastian
> 
> Enviado el: Viernes, 19 de Marzo de 2010 10:55
> 
> Para: GUFA List Member
> 
> Asunto: [GUFA] OT Sql
> 
> 
> 
> 
> 
> 
> 
>  
> 
> Pablo: 
> 
> El tema es el siguiente, se
> trata de modificar masivamente 1500 campos, el script que genera el motor
> muestra claramente lo que hace, pero justamente mi problema es emular como
> borrar cada constraint sin conocer su nombre, el motor cuando genera el
script
> directamente borra las constraint por su nombre lo cual no conozco.
> 
> Se entiende ?
> 
> Gracias.
> 
> Sebastian
> 
> 
> 
> 
> 
> De:
> [email protected] [mailto:[email protected]] En nombre de PabloC
> 
> Enviado el: Viernes, 19 de Marzo de 2010 09:59 a.m.
> 
> Para: GUFA List Member
> 
> Asunto: [GUFA] OT Sql
> 
> 
> 
> 
> 
> 
> 
>  
> 
> Hola Sebastian, porque no hace
> algo mas simple
> 
> Desde el Enterprise manager para
> SQL2000 o el SQL Server Management Studio para 2005/08 modifica los campos
de
> la tabla que desees y después antes de confirmar decile que te genere el
Script
> de modificación, ahí vas a ver como lo hace el motor
> 
>  
> 
> 
> 
> Saludos
> 
> PabloC
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
> De:
> [email protected] [mailto:[email protected]] En nombre de Massetti Sebastian
> 
> Enviado el: Viernes, 19 de Marzo de 2010 09:45
> 
> Para: GUFA List Member
> 
> Asunto: [GUFA] OT Sql
> 
> 
> 
> 
> 
> 
> 
>  
> 
> Hola Lista:
> 
> Necesito cambiar   el tipo de datos de varias
> columnas de varias tablas  (por ejemplo de INT a TINYINT) para lo cual
> utilizo ALTER COLUMN pero previo a eso tengo que eliminar todas las
constrains
> ya que el ALTER COLUMN falla si hay constrains para ese campo.
> 
> A lo mejor estoy haciéndolo mal y hay una forma más sencilla
> de cambiar los tipos de datos si tener que borrar previamente las
constraints.
> 
>  
> 
> En SQL2000 bastaba con ver la tabla SYSOBJECTS donde
> XTYPE=’D’ , PARENT_OBJ= (id de la tabla) y la columna
> SYSOBJECTS.INFO me indicaba el nro ordinal del campo según el diseño de la
> tabla.
> 
> Con esto yo consulto bien las constrains que tiene un campo
> y las puedo borrar con un DROP.
> 
>  
> 
> En SQL2005, la columna SYSOBJECTS.INFO está vacia y no tengo
> forma de identificar las constraints.
> 
> Alguien sabe de que forma puedo consultar esto ? o mejor aún
> como cambiar el tipo de datos más directamente ?
> 
>  
> 
> Desde ya muchas gracias.
> 
> Sebastian.
> 
>  
> 
>  
> 
>  
> 
> 
> 
> 
> 
> __________ NOD32 4952 (20100317) Information __________
> 
> 
> 
> This message was checked by NOD32 antivirus system.
> 
> http://www.eset.com
> 
> 
> 
> 
> 
> __________ NOD32 4952 (20100317) Information __________
> 
> 
> 
> This message was checked by NOD32 antivirus system.
> 
> http://www.eset.com
> 
> 
> 
> 
> 
>




-- 
Amaro Silva.

Responder a