Je suis en train de créer une colonne calculée persistante en utilisant l'expression CASE:Pourquoi mon expression CASE est-elle non déterministe?
ALTER TABLE dbo.Calendar ADD PreviousDate AS
case WHEN [Date]>'20100101' THEN [Date]
ELSE NULL
END PERSISTED
MSDN dit clairement que CAS est déterministe, here
Cependant, je reçois une erreur:
Msg 4936, Level 16, State 1, Line 1 Computed column 'PreviousDate' in table 'Calendar' cannot be persisted because the column is non-deterministic.
Bien sûr, je peux créer une fonction UDF scalaire et la déclarer explicitement comme déterministe, mais existe-t-il un moyen plus simple de contourner ce problème? Je suis déjà en train d'obtenir le dernier service pack. Merci.
Ancienne question, je sais, mais comment proposez-vous de * "créer un UDF scalaire et le déclarer explicitement comme déterministe" * dans SQL Server. On me dit que vous pouvez le faire dans Oracle, mais je n'ai jamais vu un moyen dans SQL Server ... – jimbobmcgee