Création de trigger entre 2 BDD
Bonjour
je dois créer un trigger qui va mettre à jour des données d'une bdd à une autre
pour cela je voudrais rendre paramétrable le nom de la bdd cible pour pouvoir changer bdd facilement.
apres des tests sur le trigger il s'avere que les execute n'acceptent pas d'utiliser les tables inserted et deleted alors que je suis obligé de faire des concaténations de chaine pour utiliser mon paramétrage.
Y a t' il une autre solution?
Merci
Gaétan
voir l'exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| la fonction dbo.base_prod('Ma_table') renvoie >> nomBDD.dbo.Ma_table
ALTER TRIGGER [dbo].[MAJ_TABLE]
ON [dbo].[Contact_Traitement]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
declare @sq as nvarchar(500)
---- Ajouter les nouvelles données
set @sq = 'insert into '+ dbo.base_prod('Ma_table') +
' select contact.A_code,year(A_date_debut),year(a_date_fin),a_flag_traitement from inserted T left join Contact on T.contact_id=Contact.contact_id '
exec (@sq) |