Trigger pour incrémenter primary key en plsql

[Fermé]
Signaler
Messages postés
7
Date d'inscription
dimanche 15 janvier 2012
Statut
Membre
Dernière intervention
26 janvier 2012
-
Bonjour,

j'arrive pas à insérer les données dans la table préalablement créée sous PL SQL:

i- créer la séquence :

CREATE SEQUENCE seq_auteur;


ii) créer le trigger trig_auteur:

CREATE TRIGGER trig_auteur
BEFORE INSERT ON auteur FOR EACH ROW

BEGIN
SELECT seq_auteur INTO :new.auteur.id_auteur FROM DUAL;
END;

-- j'ai créé le trigger afin d'incrémenter le ID_auteur et ainsi éviter de saisir à chaque reprise le ID de l'auteur (il y en a 72)


-- iii) remplir la table auteur: (c'est là qu'il y a problème)


-- quand j'essaye de remplir la table en utilisant la syntaxe [INSERT INTO], je ne sais pas comment faire pour la première colonne "ID_auteur" qui est incrémentée: si je lui attribue une valeur (1 par exemple), un message d'erreur me dit qu'il y a un problème avec le trigger, ca ne marche pas

INSERT INTO AUTEUR VALUES (1,'Aivazovsky Ivan', '29/07/1817', '05/05/1900');

-- si je n'attribue aucune valeur à la colonne id_auteur, un message d'erreur me dit qu'il y a une valeur manquante :

INSERT INTO AUTEUR VALUES ('Aivazovsky Ivan', '29/07/1817', '05/05/1900');


voila, pouvez vous me guider s'il vous plait,

merci d'avance