SQL Server 2008 prend-il en charge la syntaxe CREATE ASSERTION
?SQL Server 2008 prend-il en charge la syntaxe CREATE ASSERTION?
Je n'ai pas été capable de trouver une réponse directe à ce sujet.
SQL Server 2008 prend-il en charge la syntaxe CREATE ASSERTION
?SQL Server 2008 prend-il en charge la syntaxe CREATE ASSERTION?
Je n'ai pas été capable de trouver une réponse directe à ce sujet.
Aucun SQL Server 2008 ne prend pas en charge cette syntaxe.
Non, vous utiliseriez un CHECK constraint ou un TRIGGER à la place, selon la complexité.
Mais le problème ici est que 'CREATE ASSERTION' est au niveau du schéma et SQL Server n'a rien à ce niveau. Les déclencheurs sont procéduraux et non comparables au paradigme basé sur les ensembles de SQL-92. – onedaywhen
@onedaywhen: cela dépend de ce que l'OP veut vraiment atteindre, non? CREATE ASSERTION peut être surchargé là où il peut être adressé via CHECK OR TRIGGER. La question n'est pas "non" mais comment pouvons-nous aider le PO? Sauf si vous êtes ici pour marquer des points intelligents à la place. – gbn
"CREATE ASSERTION peut être trop puissant là où il peut être adressé via CHECK OR TRIGGER." - Pouvez-vous poster une preuve pour cette assertion (j'ai choisi mes mots avec soin), s'il vous plaît? – onedaywhen
SQL Server 2008 ne prend pas en charge CREATE ASSERTION
.
En fait, aucun produit SQL actuel ne prend en charge CREATE ASSERTION
correctement. Sybase SQL Anywhere le prend en charge, mais aurait des problèmes permettant parfois de violer les contraintes. Rdb l'a soutenu quand il a été pris en charge par DEC (qui apparemment étaient influents dans les premiers jours des normes SQL, probablement la raison pour laquelle CREATE ASSERTION
est dans la norme en premier lieu) mais ce produit n'est plus.
STOP PRESSE: according to their documentation, HyperSQL (HSQLDB) supporte les assertions (bien que je me demande pourquoi ils ne crient pas à ce sujet sur their list of features).
Je pense que la documentation hsql est défectueuse. Je viens d'essayer la syntaxe SQL standard (validée par Mimer en ligne), et hsql m'a donné: Jeton inattendu: ASSERTION dans l'instruction [CREATE ASSERTION] - c'est sur Fedora, HSQL Database Engine v. 1.8.1, SqlTool v. 333. (Processeur SqlFile v. 354) – pestophagous
@queque: honte :( – onedaywhen
-1 Factuellement correct mais pas utile: il existe des alternatives pour obtenir le même résultat. – gbn
@gbn: en réalité, vos alternatives n'obtiennent pas le même résultat. En outre, l'OP a spécifié qu'ils veulent juste une réponse directe. – onedaywhen