Application des limites de capacité dans SQL Server 2008 à l'aide de fonctions personnalisées et de contraintes de vérification
Dans le monde de SQL Server 2008, le maintien de l'intégrité des données est primordial , en particulier lorsqu'il s'agit de tables liées. Cette question tourne autour de la création d'une fonction personnalisée et de la mise en œuvre d'une contrainte de vérification pour garantir que la capacité de l'événement ne dépasse pas la capacité du lieu.
En raison de la nature multi-tables de la contrainte, l'interrogateur a rencontré des problèmes de syntaxe lors de la mise en œuvre de cette contrainte. solution. Pour résoudre ce problème, voici une approche globale :
Fonction personnalisée :
CREATE FUNCTION dbo.CheckVenueCapacity (@venue_id int, @capacity int) RETURNS int AS BEGIN DECLARE @retval int SELECT @retval = CASE WHEN venue_max_capacity >= @capacity THEN 0 ELSE 1 END FROM venues WHERE venue_id = @venue_id RETURN @retval END; GO
Cette fonction vérifie si la capacité donnée (@capacity) ne dépasse pas la capacité maximale pour le lieu spécifié (@venue_id). Elle renvoie 0 si valide et 1 si invalide.
Contrainte de vérification :
ALTER TABLE events ADD CONSTRAINT chkVenueCapacity CHECK (dbo.CheckVenueCapacity(event_venue_id, event_expected_attendance) = 0);
La contrainte de vérification applique la règle selon laquelle la fréquentation attendue pour un événement ne doit pas dépasser la capacité maximale du lieu. Il exploite la fonction personnalisée pour déterminer la validité de la capacité.
En établissant ce mécanisme robuste, SQL Server 2008 garantit que l'intégrité des données est maintenue, garantissant ainsi que les événements ne sont pas planifiés avec un nombre de participants inaccessible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!