Valor por default en sybase

alex_xp

Gold Member
Se incorporó
12 Octubre 2004
Mensajes
2.577
Estimados, tengo una duda que necesito que me aclaren por favor

tengo una tabla a la cual le debo agregar 2 nuevos campos y que ademas tengan un valor por defecto 0.
Esta tabla ya esta previamente poblada por lo que al hacer la modificación todos los valores de los campos nuevos deben aparecer en 0 para cada uno de los registros.
Mi duda es si mi sentencia es la correcta

Código:
IF OBJECT_ID('dbo.registro') IS NOT NULL
BEGIN
    ALTER TABLE dbo.registro ADD COLUMN
(
reg_estado char(1)  DEFAULT '0'    NOT NULL,
reg_valor    int      DEFAULT 0       NOT NULL
)

    IF OBJECT_ID('dbo.registro) IS NOT NULL
        PRINT '<<< Exito al agregar campos a la tabla dbo.registro >>>'
    ELSE
        PRINT '<<< Error al agregar campos a la tabla dbo.registro >>>'
END
go

Gracias
 

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.769
Si, por lo que veo la sentencia está correcta. ¿La vas a tirar primero a una tabla de desarrollo, de pruebas?
 
Upvote 0

alex_xp

Gold Member
Se incorporó
12 Octubre 2004
Mensajes
2.577
Si, por lo que veo la sentencia está correcta. ¿La vas a tirar primero a una tabla de desarrollo, de pruebas?
Muchas gracias por tu respuesta.
Asi es la voy a tirar en una base de datos de desarrollo pero igual me da cuco echarme la data de hecho me dijeron "No te eches la data" :xd
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.769
¿La tabla es muy grande? Te lo pregunto porque la base de datos va a crear la columna y le va a pintar los valores. Eso hace que se demore según la cantidad de registros de la tabla, y todos los procesos que se ejecuten contra esa tabla se pongan "lentos".
 
Upvote 0

alex_xp

Gold Member
Se incorporó
12 Octubre 2004
Mensajes
2.577
Para nada, tiene 140 filas. Ahora en producción no se cuanta data tenga guardada lamentablemente no se puede replicar lo de producción.
Saludos
 
Upvote 0

alex_xp

Gold Member
Se incorporó
12 Octubre 2004
Mensajes
2.577
Tuve que hacer una corrección para que me funcionara y al final quedo así:
Código:
IF OBJECT_ID('dbo.registro') IS NOT NULL
BEGIN
    ALTER TABLE dbo.registro ADD 

reg_estado char(1)  DEFAULT '0'    NOT NULL,
reg_valor    int      DEFAULT 0       NOT NULL

    IF OBJECT_ID('dbo.registro) IS NOT NULL
        PRINT '<<< Exito al agregar campos a la tabla dbo.registro >>>'
    ELSE
        PRINT '<<< Error al agregar campos a la tabla dbo.registro >>>'
END
go

Saludos
 
Upvote 0
Subir