He cambiado el valor del DEFAULT de la siguiente forma pero siempre me devuelve un 0. He probado a borrar el Constraint y crearlo de nuev...

Carlos Felipe González Calero

Carlos Felipe González Calero

Pregunta
studenthace 3 años

He cambiado el valor del DEFAULT de la siguiente forma pero siempre me devuelve un 0.

He probado a borrar el Constraint y crearlo de nuevo y nada… ¿Alguna sugerencia para que por defecto nos devuelva un resultado diferente a 0?

ALTER TABLE UsuarioSource ADD CONSTRAINT puntos_empezar DEFAULT 2 FOR Puntos
1 respuestas
para escribir tu comentario
    José Javier Sanahuja

    José Javier Sanahuja

    studenthace 3 años

    Excelente pregunta y me apunto a ella. Sin embargo he jugado un poco con esta pregunta que haz hecho y he descubierto varias cosas.

    apunte 1.

    ALTER TABLE UsuarioSource ADD CONSTRAINT [DF_UsuarioSource_Puntos] DEFAULT ((0)) FOR [Puntos]

    El doble paréntesis del 0 dañan el constraint. Luego puedo mostrarlo. la forma correcta sería con 1 solo paréntesis o sin paréntesis.

    Apunte 2.

    insert into UsuarioSource (Codigo, Nombre) values(21,'JJ')

    Con un INSERT de este tipo, donde especificamos las columnas y dejamos por fuera la la columna con la restricción en cuestión, ahí sí, la restricción cumple su cometido y nos da por defecto el valor 2.

    PD: Para demostrar que el doble paréntesis daña el constraint basta correr este último insert y ver que el valor que recibe puntos es NULL.

    La pregunta original de por qué ante un insert del tipo

    insert into UsuarioSource values(21,'JJ', '')

    Por qué nos devuelve 0? yo mismo sigo intrigado y esperando una respuesta.

    Saludos

Curso de Optimización de Bases de Datos en SQL Server

Curso de Optimización de Bases de Datos en SQL Server

Optimiza el rendimiento de SQL Server: mejora consultas, crea índices eficientes, entiende planes de ejecución y utiliza triggers y constraints. Aprende estrategias de respaldos y mantenimiento para garantizar una base de datos rápida y segura.

Curso de Optimización de Bases de Datos en SQL Server
Curso de Optimización de Bases de Datos en SQL Server

Curso de Optimización de Bases de Datos en SQL Server

Optimiza el rendimiento de SQL Server: mejora consultas, crea índices eficientes, entiende planes de ejecución y utiliza triggers y constraints. Aprende estrategias de respaldos y mantenimiento para garantizar una base de datos rápida y segura.