Problemas con valor NULL

10/06/2006 - 18:08 por Eliana Londoño | Informe spam
Buenos dias, tengo el siguiente procesimiento almacenado
*****************
CREATE procedure A_prueba
@Placa_Vehiculo char(10),
@Identificacion_Propietario_Por_Matricula2 char(15)
AS
DECLARE @Identificacion_Propietario_Por_Matricula2_Actual char(15)
SELECT @Identificacion_Propietario_Por_Matricula2_Actual =
Identificacion_Propietario_Por_Matricula2
FROM Vehiculos Where Placa_Vehiculo = @Placa_Vehiculo
/*-- Si la Id del propietario actual es diferente a la que se envia como
parametro agregamos un registro en la tabla de Historicos --*/
SET ANSI_NULLS OFF
IF (@Identificacion_Propietario_Por_Matricula2_Actual <>
@Identificacion_Propietario_Por_Matricula2)
INSERT INTO Vehiculos_Historico (Placa_Vehiculo,
Identificacion_Propietario_Por_Matricula2)
VALUES (@Placa_Vehiculo, @Identificacion_Propietario_Por_Matricula2)
SET ANSI_NULLS ON
RETURN
GO
*****************
El problema es que cuando uno de los valores viene Nulo, ya sea el que
recupero de la tabla original o el que se envia como parametro, la condicion
no se cumple

Estuve leyendo y vi que era por lo del SET ANSI_NULLS (primero no lo tenia),
pero lo coloque y nada...
Tambien evalue el valor de las dos vbles y efectivamente una viene como NULL
y la otra con un valor valido...

Que se les ocurre que pueda estar haciendo de manera equivocada?.. o como
pueden colaborarme con el problema...

Muchas gracias por sus comentarios...

Eliana Londoño
Medellin-Colombia
 

Leer las respuestas

#1 Carlos
11/06/2006 - 13:30 | Informe spam
No entiendo bien, quieres que la condicion se cumpla aunque el campo o la
variable vengan con un valor NULL ??? algo como un LEFT JOIN ???

Por si acaso checate la funcion ISNULL().


"Eliana Londoño" escribió en el mensaje
news:
Buenos dias, tengo el siguiente procesimiento almacenado
*****************
CREATE procedure A_prueba
@Placa_Vehiculo char(10),
@Identificacion_Propietario_Por_Matricula2 char(15)
AS
DECLARE @Identificacion_Propietario_Por_Matricula2_Actual char(15)
SELECT @Identificacion_Propietario_Por_Matricula2_Actual =
Identificacion_Propietario_Por_Matricula2
FROM Vehiculos Where Placa_Vehiculo = @Placa_Vehiculo
/*-- Si la Id del propietario actual es diferente a la que se envia como
parametro agregamos un registro en la tabla de Historicos --*/
SET ANSI_NULLS OFF
IF (@Identificacion_Propietario_Por_Matricula2_Actual <>
@Identificacion_Propietario_Por_Matricula2)
INSERT INTO Vehiculos_Historico (Placa_Vehiculo,
Identificacion_Propietario_Por_Matricula2)
VALUES (@Placa_Vehiculo, @Identificacion_Propietario_Por_Matricula2)
SET ANSI_NULLS ON
RETURN
GO
*****************
El problema es que cuando uno de los valores viene Nulo, ya sea el que
recupero de la tabla original o el que se envia como parametro, la
condicion no se cumple

Estuve leyendo y vi que era por lo del SET ANSI_NULLS (primero no lo
tenia), pero lo coloque y nada...
Tambien evalue el valor de las dos vbles y efectivamente una viene como
NULL y la otra con un valor valido...

Que se les ocurre que pueda estar haciendo de manera equivocada?.. o como
pueden colaborarme con el problema...

Muchas gracias por sus comentarios...

Eliana Londoño
Medellin-Colombia


Preguntas similares