[trigger] Ajouter le n° de client lors d'une insertion d'enregistrement

Signaler
Messages postés
3
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
5 mars 2008
-
Messages postés
3
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
5 mars 2008
-
Bonjour,

J'ai développé un Trigger pour concevoir un n° de client de type 2006-00011 afin de l'ajouter à l'enregistrement que mon appli inserera dans la table.

Je n'y connais rien en trigger, j'ai pas trouvé mon info sur le net (ou pas tres explicite pour un novicz comme moi...).

J'ai bien réussi à générer mon n° de client mais je ne sais pas comment faire pour écrire le numéro ainsi généré.

Donc, au final, lors d'un INSERT du nom, prénom etc, le trigger se chargera d'entrer le n° de client.

La variable qui contiend le numéro de client à ecrire dans l'enregistrement est @New_idClient

2 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
Salut,
sur quelle base trvaille tu?

Voila un exemple pour sqlserver

CREATE TRIGGER envoi_email
ON nom_table
FOR INSERT, UPDATE, DELETE
AS
EXEC master.dbo.xp_sendmail @recipients = 'Administrateur',
@message = 'Attention une modification a été
effectuée dans la table : nom_table.',
@subject = 'Modification sur une table.'
GO


Voila avec inserted

CREATE TRIGGER TR_TFACP200
ON TFACP200
FOR INSERT
AS

UPDATE TFACP200
SET DOCUMENT_DATE = LEFT(DDATE,2) + "/" + SUBSTRING(DDATE,3,2) + "/" +
RIGHT(DDATE,4)
WHERE ISDATE(LEFT(DDATE,2) + "/" + SUBSTRING(DDATE,3,2) + "/" +
RIGHT(DDATE,4)) = 1
AND DOCUMENT_DATE IS NULL
AND EXISTS (
SELECT 1
FROM inserted
WHERE inserted.id = TFACP200.id
)

Ces exemples sont des copier coller, en les transformant tu y arrivera, à faire ce que tu veux.
Messages postés
3
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
5 mars 2008

Salut,

Je travaille bien sous SQL Server de Microsoft.

Je ne comprend toujours pas car je ne saisi pas le mode de fonctionnement de "INSERTED" et puis si en plus il est possible d'y ajouter des trucs apres un "." alors...

Voici un résumé de mon code :
CREATE TRIGGER [New_idClient]
ON [dbo].[Clients]
FOR INSERT
AS
BEGIN
-- Code necessaire pour faire la variable @New_idClient

INSERT INTO Clients (idClient) VALUES (@New_idClient) FROM INSERTED
-- Est-ce correct ainsi ?
END