Hola a todos,
toda nuestra aplicación inserta, actualiza, elimina y selecciona los datos
desde procedimientos almacenados.
Hemos querido optimizar nuestra aplicación y al guardar los datos, sólo
mandamos a los procedimientos los valores que realmente han cambiado.
El problema con el que nos encontramos es que al insertar nuevos registros,
no se respectan los valores predeterminados indicado en la tabla.
Por ejemplo:
Tenemos el siguiente proc. almacenado:
CREATE PROCEDURE [dbo].[Usuario_Insert]
@Clave varchar(10)=NULL,
@Alias varchar(12)=NULL,
@GrupoUsuario smallint=NULL,
@Password varchar(10)=NULL,
@PasswordFechaCaduca datetime=NULL
AS
INSERT INTO Usuario (
Clave,
Alias,
GrupoUsuario,
Password,
PasswordFechaCaduca,)
VALUES (
@Clave,
@Alias,
@GrupoUsuario,
@Password,
@PasswordFechaCaduca)
Bien, pues resulta que en la base de datos tenemos como valores
predeterminados: GrupoUsuario = 0 y PasswordFechaCaduca=getdate().
Si a este procedimiento sólo le pasamos los valores, por ejemplo, de
@Clave='NUEVO', todos los demás campos serán NULL.
Hemos pensado que existe una fácil solución que sería indicar también en el
proc. almacenado los valores predeterminados en lugar de valores NULL, pero
no podemos asignar la función getdate() por tener que ser un valor
constante.
¿Sabeis si existe alguna manera de poder indicar en los parámetros que si no
se indica ningún valor, coja el valor predeterminado de la base de datos en
lugar del valor NULL?.
Muchas gracias y un saludo
Santiago Barro
Leer las respuestas