SQL - Como Cambio el tamaño de un campo

 
Vista:

Como Cambio el tamaño de un campo

Publicado por Javier Méndez (4 intervenciones) el 04/07/2003 16:17:52
Estimados, Tengo Problemas cambiando el tamaño de un campo en una tabla, tomando en cuenta que el campo es clave primaria, y foranea en otras tablas, me da un error de que no se puede cambiar por la integridad. esto es en Sql Server 7.0 y el cambio debe de efectuarse en un script, le agradeceria cualquier sugerencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como Cambio el tamaño de un campo

Publicado por Isaías Islas (5072 intervenciones) el 04/07/2003 18:25:22
Hola

Por principio de cuentas, debera QUITAR la relacion:

ALTER TABLE MyTabla
DROP CONSTRAINT FK_MyRelacion

Despues, alterar el tipo o longitud de campo:

**** Cuidado *****, podria perder datos si la columna es mas pequeña

CREATE TABLE dbo.Tmp_MyTabla
(
iId int NOT NULL,
cNombre char(20) NULL -- estoy cambiando de 10 a 20
) ON [PRIMARY]
IF EXISTS(SELECT * FROM dbo.MyTabla)
EXEC('INSERT INTO dbo.Tmp_MyTabla (iId, cNombre)
SELECT iId, cNombre FROM dbo.MyTabla TABLOCKX')
-- elimino mi tabla orignial
DROP TABLE dbo.MyTabla
-- Renombro mi tabla de paso
EXECUTE sp_rename N'dbo.Tmp_MyTabla, N'MyTabla', 'OBJECT'
-- Genero nuevamente mi PK
ALTER TABLE dbo.MyTabla ADD CONSTRAINT
PK_Padre PRIMARY KEY CLUSTERED
(
iId
) ON [PRIMARY]
-- Vuelvo a colocar mi RELACION
ALTER TABLE dbo.MyTablaHijo ADD CONSTRAINT
FK_Hijo_MyTabla FOREIGN KEY
(
iId
) REFERENCES dbo.MyTabla (
iId
)

Espero y le sirva este script.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como Cambio el tamaño de un campo

Publicado por Javier Méndez (4 intervenciones) el 09/07/2003 18:07:22
Ok Muchas gracias dejame probar y te escribo, lo que pasa es q son muchas relaciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar