OVH Cloud OVH Cloud

Trigger et Unicité de valeur

2 réponses
Avatar
Arnaud CAVELIER
Bonjour,

Dans une table EXPEDITION j'ai une colonne Identity : IDexpedition et une
colonne VREF qui doit être unique et obligatoire.

Lorsque j'insère une ligne, si je n'ai pas défini VREF, j'ai une erreur
disant que la valeur est obligatoire, normal !

J'aimerai pouvoir définir une valeur par défaut un peu spéciale : qui
dépendent de l'IDexpedition.
Si VREF n'est pas défini je lui affecte par défaut IDexpedition.

J'ai pensé faire cela avec un trigger, mais je bloque un peu : on dirait que
le trigger ne se déclenche que lorsque l'ajout s'est terminé correctement, or
ce ne peut pas être le cas...

Merci de m'aider à résoudre ce souci.
Arnaud

2 réponses

Avatar
bruno reiter [MVP]
le trigger se déclenche après la mise à jour et après controle des autres
contraintes, sauf le trigger "instead of" ça peut peut-etre t'aider

br

"Arnaud CAVELIER" wrote in
message news:
Bonjour,

Dans une table EXPEDITION j'ai une colonne Identity : IDexpedition et une
colonne VREF qui doit être unique et obligatoire.

Lorsque j'insère une ligne, si je n'ai pas défini VREF, j'ai une erreur
disant que la valeur est obligatoire, normal !

J'aimerai pouvoir définir une valeur par défaut un peu spéciale : qui
dépendent de l'IDexpedition.
Si VREF n'est pas défini je lui affecte par défaut IDexpedition.

J'ai pensé faire cela avec un trigger, mais je bloque un peu : on dirait


que
le trigger ne se déclenche que lorsque l'ajout s'est terminé correctement,


or
ce ne peut pas être le cas...

Merci de m'aider à résoudre ce souci.
Arnaud


Avatar
Fred BROUARD
les trigger dans V7 ne se déclenche qu'APRES insertion. Donc ton echec est normal.

Deux solution : na pas rendre la colonne obligatoire et faire ce calcul après.
ou bien, si v 2000 uitiliser un trigger INSTEAD OF

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************


Arnaud CAVELIER a écrit:
Bonjour,

Dans une table EXPEDITION j'ai une colonne Identity : IDexpedition et une
colonne VREF qui doit être unique et obligatoire.

Lorsque j'insère une ligne, si je n'ai pas défini VREF, j'ai une erreur
disant que la valeur est obligatoire, normal !

J'aimerai pouvoir définir une valeur par défaut un peu spéciale : qui
dépendent de l'IDexpedition.
Si VREF n'est pas défini je lui affecte par défaut IDexpedition.

J'ai pensé faire cela avec un trigger, mais je bloque un peu : on dirait que
le trigger ne se déclenche que lorsque l'ajout s'est terminé correctement, or
ce ne peut pas être le cas...

Merci de m'aider à résoudre ce souci.
Arnaud