{Oracle} trigger de verification

Résolu/Fermé
drsbmm - 6 juil. 2009 à 11:59
 DevMkns - 9 juil. 2011 à 10:54
Bonjour à tous,
je vais poser directement poser ma question:
est ce que vous saver comment créer un trigger qui permet de vérifier l'unicité d'une clé primaire lors de l'insertion d'un tuple...
est ce qu'il faut utiliser :new.cle is unique ?
et merci...

9 réponses

adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
6 juil. 2009 à 12:33
tu n'a pas besoin d'un trigger pour cela

une simple definition de ta clé en unique ne suffirait-elle pas ??

Adns
1
mais j'ai un exercice qui me demande de faire ce trigger...je sais qu'il n'est pas utile.
svp proposer moi ce que je dois faire ......
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
6 juil. 2009 à 13:30
alalalalal

les profs nous font toujours faire des truc bizarre...

pourquoi ne pas faire un
select count(*) as nb from table where tonchampunique = :new.tonchampunique;
if nb > 0 then
--erreur
end if

Adns
1
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
6 juil. 2009 à 12:02
bonjour

peux tu être un peu plus précis ??

car la comme ca je ne vois aucune utilité a créer un trigger pour l'unicité d'une clé...

Adns
0
bon...je veux créer ce trigger pour empecher d'inseret un tuplet qui contient la meme clé...par exemple il peux m'afficher un message d'erreur.
0
Zags Messages postés 13 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 7 juillet 2009
6 juil. 2009 à 13:46
Bonjour,
j'ai un petit souci d'affichage de la selection d'un objet dans ma liste déroulante sous access 2007.
Pourrais tu m'aider?
Mag
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
6 juil. 2009 à 14:04
désolé acces je connais pas du tout :S

c'est du sql ??

si oui tu peux toujours balancer ta requête et me dire l'erreur mais je te promet rien :S

Adns
0
Zags Messages postés 13 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 7 juillet 2009
6 juil. 2009 à 14:25
Merci pour ta réponse,Non ce n'est pas du sql mais du VBA.

Private Sub Commande157_Click()

Nom colonne.Value =Liste déroulante.Column(0)

End Sub
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
6 juil. 2009 à 14:27
Vraiment désolé je connais pas :S

Adns
0
merci ands votre denier programme marche bien...
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
7 juil. 2009 à 07:59
De rien ;)

Adns
0
salut si j'ai bien compris ta demande ^_^
pour le trigger je crois que tu peut utiliser juste un de type AFTER parce qu'il verfie les contraintes ou bien :

create trigger verif on <nom table> for insert as
begin
if update(<champ clé>)
{
if exists(select * from <table>,inserted where <table>.<champ clé>=inserted.<champ clé>)
{
print ' un n-uplet avec meme clé exisit déja'
rollback
}}
0