Me cansé de agregar una Restricción de verificación y solo he fallado hasta el momento. ¿Cuál sería la manera de evitar esto:Restricción de verificación - Las subconsultas no están permitidas en este contexto
Msg 1046, nivel 15, estado 1, línea 6
subconsultas no están permitidos en este contexto. Solo se permiten las expresiones escalares .
Este es el código:
ALTER TABLE dbo.PropertySeasonDiscount ADD CONSTRAINT
[CC_PropertySeasonDiscount_MadeFrom_MadeTo]
CHECK (
(SELECT COUNT(PropertySeasonDiscountId) FROM dbo.PropertySeasonDiscounts apsdeb
WHERE
(apsdeb.PropertySeasonId = PropertySeasonId) AND
(
(apsdeb.ValidForReservationsMadeTo >= ValidForReservationsMadeFrom AND ValidForReservationsMadeFrom >= apsdeb.ValidForReservationsMadeFrom) OR
(apsdeb.ValidForReservationsMadeFrom <= ValidForReservationsMadeTo AND ValidForReservationsMadeTo <= apsdeb.ValidForReservationsMadeTo)
)
) = 0
);
¿Qué tal un gatillo? –
@AaronBertrand Pongo la lógica dentro de una UDF y devuelvo el valor de esa UDF. Luego lo comparé con la restricción y no me quejé. Disparar sería mejor? – tugberk
@AaronBertrand No se quejó cuando creé, pero actúa inesperadamente cuando trato de agregar valor a la tabla. – tugberk