J'ai une table, département, avec plusieurs champs de bits pour indiquer les types de service One est Entrepôt (lorsqu'il est vrai, indique le département est entrepôt)contrainte de vérification sur la table recherche
Et j'ai une autre table, ManagersForWarehouses avec suivant Structure:
ID autoinc
WarehouseID int (foreign key reference DepartmentID from departments)
ManagerID int (foreign key reference EmployeeID from employees)
StartDate
EndDate
pour définir le nouveau directeur pour l'entrepôt, je peux insérer dans ce tableau avec null EndDate, et j'ai un déclencheur qui fixe EndDate pour l'enregistrement précédent pour cet entrepôt = StartDate pour le nouveau gestionnaire, donc un seul gestionnaire apparaît pour un entrepôt à un certain moment.
Je veux ajouter deux contraintes de contrôle comme suit, mais ne savez pas comment faire
- ne permettent pas d'insérer dans ManagersForWarehouses si WarehouseID est pas marqué comme entrepôt
- Ne laissez pas de décocher l'entrepôt s'il y a des enregistrements dans ManagersForWarehouses
Merci
"2.Ne permet pas de décocher l'entrepôt s'il y a des enregistrements dans ManagersForWarehouses" - voulez-vous dire ceci ou s'il y a des enregistrements actifs (vous avez des dates de fin est pourquoi j'ai demandé) – HLGEM
@HLGEM - Je veux dire, si je déjà défini un ManagerForWarehouse, pour ne pas me permettre de définir le champ de l'entrepôt (bit) de 1 à 0 – bzamfir