Dove sbaglio nella If?
In pratica con questa stored seleziono il campo dataarrivo e faccio il controllo con il parametro @datapartenza se quest'ultimo è + piccolo della data di arrivo allora non deve essere eseguita l'update e mi deve uscire un messaggio di errore che poi dovrei gestire in vb.
CREATE PROCEDURE [dbo].[InsC591_New]
(
@Codalbergo Int,
@CodComAlbergo Int,
@idstato Int,
@idcomune Int,
@idgruppo Int,
@DataPartenza Smalldatetime
)
AS
BEGIN
WITH CTE_GetID AS
(
SELECT dataarrivo,MIN(iddb) AS id
FROM dbo.ARCHIVIO_MOV_NEW
WHERE codalbergo=@codalbergo and codcomalbergo=@codcomalbergo and idstato=@idstato and
idcomune=@idcomune and idgruppo=@idgruppo and datapartenza Is Null
)
If t.dataarrivo > @datapartenza
RAISERROR ('Data partenza non valida')
Else
UPDATE T
SET T.datapartenza = @datapartenza
From Archivio_mov_new As T
JOIN CTE_GetID AS CTE
ON T.iddb = CTE.id
Where T.codalbergo=@codalbergo
And T.codcomalbergo=@codcomalbergo
And T.idstato=@idstato
and T.idcomune=@idcomune
and T.idgruppo=@idgruppo
END
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com