beste,
ik heb de volgende structuur:
TBL.customer:
subscription_start datetime
subscription_end datetime
TBL.watchhistory:
watch_date datetime
nu heb ik de volgende functie gemaakt om te checken of de watch_date binnen de subscription zit:
deze is gevolgd door de volgende constraint:
Dit gaat goed als er 1 record in de tabel staat.
wanneer er een 2de record bijkomt gaat dit niet want de functie geeft dan 2 waardes terug.
iemand een idee hoe ik dit probleem op kan lossen?
groet!
ik heb de volgende structuur:
TBL.customer:
subscription_start datetime
subscription_end datetime
TBL.watchhistory:
watch_date datetime
nu heb ik de volgende functie gemaakt om te checken of de watch_date binnen de subscription zit:
Code:
create function checkwatchdate()
returns varchar(1)
as
BEGIN
DECLARE @Final varchar
IF (Select watch_date from watchhistory) > (select customer.subscription_start from customer,watchhistory where customer.customer_mail_address = watchhistory.customer_mail_address) AND
(Select watch_date from watchhistory) < (select customer.subscription_end from customer,watchhistory where customer.customer_mail_address = watchhistory.customer_mail_address)
SET @final = 1;
ELSE
SET @final = 0;
RETURN @final
END
go
deze is gevolgd door de volgende constraint:
Code:
alter table watchhistory
add constraint CK_watchhistory check(dbo.checkwatchdate() = 1)
go
Dit gaat goed als er 1 record in de tabel staat.
wanneer er een 2de record bijkomt gaat dit niet want de functie geeft dan 2 waardes terug.
iemand een idee hoe ik dit probleem op kan lossen?
groet!