Bonjour,

j'ai une table T1 avec 3 attributs

ID integer
Vocation integer
TYPE integer

valeurs possible de VOCATION : 1,2,3,4,5
valeurs possibles de TYPE : 1,2,3,4,5,6,7,8

La valeurs de TYPE dépend de la valeur de VOCATION. Exemple: si VOCATION = 1 alors TYPE ne peut être que 2 ou 3 ou 5 ou 7 ou 8. SI vocation = 2 alors TYPE ne peut être que 3 ou 4. etc.

j'utilise sqlserver2008

je veux crée une contrainte sur TYPE de façon qu'il n'accepte que les valeurs appropriées à sa vocation.

j'ai créé le Trigger suivant mais il n'a rien donné.

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 (Transact sql)
 
CREATE TRIGGER [dbo].[tg_T1]
ON [dbo].[T1]
after INSERT, UPDATE
AS
DECLARE @VOCATION int
DECLARE @TYPE int
BEGIN
IF 
@VOCATION =1 
SET @TYPE = 2
END
GO

Commande(s) réussie(s).

mais dans la table rien n'a changé.

une idée s'il vous plait

Merci