{Oracle} trigger de verification

Résolu
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...
Configuration: Windows XP Internet Explorer 7.0

9 réponses

  1. 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 ......
  2. 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. 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
      1. 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.
    2. 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
      1. 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
        1. 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
      2. 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
        }}