J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans creation
la valeur de getdate()
---
ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join
inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette date
de création.
J'ai donc créé un trigger pour interdire de modifier la date de création
---
ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux
triggers sont posés, je ne sais plus insérer un nouveau client dans ma
table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne trouve
pas de solution et les exemples que j'ai pu parcourir ne semblent pas
correspondre à mon cas.
Merci pour vos solutions.
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain Lafontaine
Sans vraiment me pencher sur la question, l'idéal serait peut-être de créer un seul et même trigger pour l'insertion et l'édition et régler la question de ce qui doit être fait dans ce seul et unique trigger.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
"Pierre Fauconnier" wrote in message news:
Bonjour
J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans creation la valeur de getdate() --- ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette date de création. J'ai donc créé un trigger pour interdire de modifier la date de création --- ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux triggers sont posés, je ne sais plus insérer un nouveau client dans ma table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne trouve pas de solution et les exemples que j'ai pu parcourir ne semblent pas correspondre à mon cas.
Merci pour vos solutions.
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Sans vraiment me pencher sur la question, l'idéal serait peut-être de créer
un seul et même trigger pour l'insertion et l'édition et régler la question
de ce qui doit être fait dans ce seul et unique trigger.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> wrote in message
news:O1HuDbTbGHA.1228@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans
creation la valeur de getdate()
---
ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join
inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette
date de création.
J'ai donc créé un trigger pour interdire de modifier la date de création
---
ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux
triggers sont posés, je ne sais plus insérer un nouveau client dans ma
table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne
trouve pas de solution et les exemples que j'ai pu parcourir ne semblent
pas correspondre à mon cas.
Merci pour vos solutions.
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
Sans vraiment me pencher sur la question, l'idéal serait peut-être de créer un seul et même trigger pour l'insertion et l'édition et régler la question de ce qui doit être fait dans ce seul et unique trigger.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
"Pierre Fauconnier" wrote in message news:
Bonjour
J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans creation la valeur de getdate() --- ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette date de création. J'ai donc créé un trigger pour interdire de modifier la date de création --- ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux triggers sont posés, je ne sais plus insérer un nouveau client dans ma table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne trouve pas de solution et les exemples que j'ai pu parcourir ne semblent pas correspondre à mon cas.
Merci pour vos solutions.
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Pierre Fauconnier
Bonjour Sylvain
Je m'en suis sorti en suivant ton conseil --- ALTER TRIGGER t_Clients_Majuscules_Client ON dbo.t_Clients for INSERT, update AS update t_clients set client = upper(inserted.client) from t_clients join inserted on (t_clients.client = inserted.client) update t_clients set creation = getdate() from t_clients join inserted on (t_clients.client = inserted.client) where (inserted.creation is null) update t_clients set creation = deleted.creation from t_clients join deleted on (t_clients.client = deleted.client) where (deleted.creation is not null) ---
Tout semble fonctionner...
Merci beaucoup et bonne semaine
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
----- "Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news: O%
Sans vraiment me pencher sur la question, l'idéal serait peut-être de créer un seul et même trigger pour l'insertion et l'édition et régler la question de ce qui doit être fait dans ce seul et unique trigger.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
"Pierre Fauconnier" wrote in message news:
Bonjour
J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans creation la valeur de getdate() --- ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette date de création. J'ai donc créé un trigger pour interdire de modifier la date de création --- ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux triggers sont posés, je ne sais plus insérer un nouveau client dans ma table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne trouve pas de solution et les exemples que j'ai pu parcourir ne semblent pas correspondre à mon cas.
Merci pour vos solutions.
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Bonjour Sylvain
Je m'en suis sorti en suivant ton conseil
---
ALTER TRIGGER t_Clients_Majuscules_Client
ON dbo.t_Clients
for INSERT, update
AS
update t_clients set client = upper(inserted.client) from t_clients join
inserted on (t_clients.client = inserted.client)
update t_clients set creation = getdate() from t_clients join inserted on
(t_clients.client = inserted.client) where (inserted.creation is null)
update t_clients set creation = deleted.creation from t_clients join deleted
on (t_clients.client = deleted.client) where (deleted.creation is not null)
---
Tout semble fonctionner...
Merci beaucoup et bonne semaine
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
-----
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: O%23tisdTbGHA.504@TK2MSFTNGP03.phx.gbl...
Sans vraiment me pencher sur la question, l'idéal serait peut-être de
créer un seul et même trigger pour l'insertion et l'édition et régler la
question de ce qui doit être fait dans ce seul et unique trigger.
--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> wrote in message
news:O1HuDbTbGHA.1228@TK2MSFTNGP02.phx.gbl...
Bonjour
J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans
creation la valeur de getdate()
---
ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join
inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette
date de création.
J'ai donc créé un trigger pour interdire de modifier la date de création
---
ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux
triggers sont posés, je ne sais plus insérer un nouveau client dans ma
table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne
trouve pas de solution et les exemples que j'ai pu parcourir ne semblent
pas correspondre à mon cas.
Merci pour vos solutions.
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
Je m'en suis sorti en suivant ton conseil --- ALTER TRIGGER t_Clients_Majuscules_Client ON dbo.t_Clients for INSERT, update AS update t_clients set client = upper(inserted.client) from t_clients join inserted on (t_clients.client = inserted.client) update t_clients set creation = getdate() from t_clients join inserted on (t_clients.client = inserted.client) where (inserted.creation is null) update t_clients set creation = deleted.creation from t_clients join deleted on (t_clients.client = deleted.client) where (deleted.creation is not null) ---
Tout semble fonctionner...
Merci beaucoup et bonne semaine
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
----- "Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news: O%
Sans vraiment me pencher sur la question, l'idéal serait peut-être de créer un seul et même trigger pour l'insertion et l'édition et régler la question de ce qui doit être fait dans ce seul et unique trigger.
-- Sylvain Lafontaine, ing. MVP - Technologies Virtual-PC E-mail: http://cerbermail.com/?QugbLEWINF
"Pierre Fauconnier" wrote in message news:
Bonjour
J'ai une table Clients avec un champ Creation de type Datetime
A la création d'une nouvelle fiche, j'ai un trigger qui stocke dans creation la valeur de getdate() --- ALTER TRIGGER t_Clients_Insert_Creation
ON dbo.t_Clients
FOR INSERT
AS
UPDATE t_clients set t_clients.creation = getdate() from t_clients join inserted on (t_clients.client = inserted.client)
---
Jusque là, tout va bien. Je voudrais interdire la modification de cette date de création. J'ai donc créé un trigger pour interdire de modifier la date de création --- ALTER TRIGGER t_Clients_Modif_Creation
ON dbo.t_Clients
FOR UPDATE
AS
if update(creation)
begin
raiserror('Modif de date interdite',0,1)
rollback transaction
end
---
Il semble y avoir concurrence entre les triggers car lorsque les deux triggers sont posés, je ne sais plus insérer un nouveau client dans ma table...
Je suppose que ce problème est d'une banalité affligeante, mais je ne trouve pas de solution et les exemples que j'ai pu parcourir ne semblent pas correspondre à mon cas.
Merci pour vos solutions.
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci