Salve
ammetto subito che con SQL con non un drago...
Mi trovo in questa situazione: Ho su un server due DB, chiamiamoli dbA e dbB. Per semplicità entrambi hanno una sola tabella 'Articoli' che contiene due soli campi 'Codice' e 'Articolo'. Ora vorrei che ad ogni inserimento, modifica o cancellazione sul dbA tutte le azioni vengano replicate sul dbB. Ho pensato ai trigger e sono arrivato a questi:
Per l'insert e l'update
USE [dbA]
GO
/****** Oggetto: Trigger [dbo].[trArticoli] Data script: 10/08/2007 18:10:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[trArticoli]
ON [dbo].[Articoli]
FOR INSERT, UPDATE
AS
INSERT dbB.Articoli
SELECT * FROM INSERTED
UPDATE dbB.Articoli
SELECT * FROM UPDATED
Per il Delete
USE [dbA]
GO
/****** Oggetto: Trigger [dbo].[t_Articoli_DU] Data script: 10/08/2007 18:11:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[t_Articoli_DU] ON [dbo].[Articoli]
FOR DELETE
AS
DELETE A
FROM dbB.Articoli A INNER JOIN DELETED D
ON A.Codice = D.Codice
Così, a naso, dovrebbero andare, ma in realtà ottengo per ogni operazione su dbA il seguente errore:
Messaggio 208, livello 16, stato 1, procedura trArticoli, riga 6
Il nome di oggetto 'dbB.Articoli' non è valido.
Dove sto sbagliando???
Grazie infinite!!!