Trigger for delete

Fermé
Miss Unknown - 17 nov. 2007 à 23:56
g-bd-oracle Messages postés 1 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 13 janvier 2011 - 13 janv. 2011 à 21:27
Bonjour,

Je voulais créer un trigger sur une table, dés que je supprime une ligne de cette table je voulais qu'il sera copié dans une autre table que je vais l'appeler table historique, SVP aidez moi.. J'ai besoin de votre aide..

Je comprend pas les triggers , voila le debut:

create trigger on TABLE for delete
as
select * from deleted
insert into historique values('CHAMPS')
...
Je sais vraiment pas que dois je faire, HELP... :(
A voir également:

6 réponses

orque Messages postés 17 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 27 mars 2008 3
18 nov. 2007 à 00:23
Bonjour,
pour créer un trigger qui insert le tuple supprimé dans la table Historique, tu dois suivre la synthaxe suivante:

CREATE OR REPLACE TRIGGER Nom_TRIGGER
BEFORE DELETE ON NOM_TABLE (NOM_TABLE: est le nom de la table que tu vient de lui suprimer un tuple)
FO EACH ROW
BEGIN
-- aprés tu doit selectionner les champs à supprimer et les insérer dans la table historique
end;
0
Miss Unknown
18 nov. 2007 à 00:35
OHHH, vous avez mis en commentaire la partie que je connais pas :'(
OK.. si par exemple j'ai un seule champ "nom" dans ma table, lorsque je supprime une ligne (un nom), je voulez qu'il sera collé automatiquement dans la table historique, mais COMMENT je dois traduire ce blabla en sql server
j'essaye...

CREATE OR REPLACE TRIGGER Nom_TRIGGER
BEFORE DELETE ON NOM_TABLE (NOM_TABLE: est le nom de la table que tu vient de lui suprimer un tuple)
FO EACH ROW
BEGIN
-- aprés tu doit selectionner les champs à supprimer et les insérer dans la table historique
declare @nom varchar(10)
set @nom=(select nom from deleted)
insert into historique values(@nom)

end;

est ce que c'est comme ça???

merci encors
0
Miss Unknown
18 nov. 2007 à 00:43
OKKK... J'ai réussi à créer mon trigger, merci à vous
0
orque Messages postés 17 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 27 mars 2008 3
18 nov. 2007 à 00:47
ou bien ça
declare
nom2 delete.nom %type;
Begin
select nom from delete
into nom2;
insert into historique
values(nom2);
end;
0

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

Posez votre question
Miss Unknown
18 nov. 2007 à 00:48
Derniere question: Comment signaler que le probleme est resolu sur ce forum ??? :p
0
g-bd-oracle Messages postés 1 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 13 janvier 2011
Modifié par g-bd-oracle le 13/01/2011 à 21:28
merci
0