Les contraintes de vérification vous permettent de définir des règles pour des données valides quand vous créez une table ou modifiez sa définition. Dans SQL Server, vous pouvez spécifier une UDF (user-defined function) dans l’expression logique qui définit la contrainte. Les UDF favorisent la réutilisation du code et permettent de
Les UDF dans des contraintes de vérification
définir des tests de validité complexes. Il est intéressant de pouvoir utiliser des requêtes sur les données existantes de la table de sujets, dans le cadre de la contrainte. Par exemple, vous pouvez créer une UDF ChkDate- Interval qui renvoie 1 si une autre ligne existe dans la même table Item avec la même valeur item number et un intervalle de date en chevauchement pour le prix. Quand il n’existe pas de ligne en chevauchement, Chk DateInterval renvoie 0. Vous pouvez ensuite ajouter une contrainte de vérification référençant cette fonction quand vous créez la table :
CREATE TABLE Item
( ItemNbr Int,
Price Decimal( 10, 2 ),
BgnDate Date,
EndDate Date,
…
Check ( ChkDateInterval(
ItemNbr,
BgnDate, EndDate ) = 0 )
Support intégré pour un contrôle de simultanéité optimiste Le contrôle de simultanéité optimiste est une technique permettant d’empêcher des mises à jour simultanées conflictuelles à la même ligne d’une table. La méthode classique consiste à atteindre des lignes sans un verrou et à utiliser une copie sauvegardée du tampon horodateur d’une ligne atteinte (ou un total de contrôle de tout le contenu de la ligne) pour voir si un autre processus a effectué des changements, avant de procéder à une mise à jour sur la ligne. SQL Server fera le ménage quand vous déclarerez un curseur avec le mot-clé Optimistic :
Declare EmpCursor Optimistic
For Select EmpId, EmpName
From Employee
Order By EmpId
For Update of EmpName
Avec cette définition de curseur, les lignes ne sont pas verrouillées au moment où elles sont atteintes. Quand l’application tente une mise à jour positionnée, telle que
Update Employee
Set EmpName = :NewName
Where Current of EmpCursor
SQL Server vérifie le tampon horodateur saved ou le total de contrôle par rapport à la valeur correspondante pour la ligne current et refuse la mise à jour si les deux valeurs diffèrent.
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Et si les clients n’avaient plus le choix ?
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Chiffrements symétrique vs asymétrique
Les plus consultés sur iTPro.fr
- Analyse Patch Tuesday Septembre 2026
- Agents fantômes en EMEA : l’IA s’emballe, les conseils d’administration s’inquiètent
- L’illusion du contrôle à l’ère du cloud globalisé
- Souveraineté numérique : la résilience l’emporte sur l’indépendance totale
Articles les + lus
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
À la une de la chaîne Tech
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
