Вставка данных из одной базы данных в другую базу данных с помощью триггера
Я хочу вставить одно значение таблицы базы данных в другое значение таблицы базы данных с помощью триггера..
После срабатывания триггера он будет автоматически вставлен в другую таблицу базы данных, а состояние первой таблицы базы данных также будет обновлено после срабатывания триггера.
Что я уже пробовал:
create TRIGGER AfterInsert ON DEMODATABSE.[dbo].[TRANS] FOR INSERT AS BEGIN DECLARE @LBrCode INT ; DECLARE @EntryDate DATETIME ; DECLARE @PrdAcctId VARCHAR(32); DECLARE @AgtPrdAcctId VARCHAR(32); DECLARE @AMOUNT FLOAT; DECLARE @Type VARCHAR(10); --SET @Type='Credit' SELECT @Type = T.TYPE FROM [SYSDB01].DEMODATABSE.[dbo].[TRANS] T; IF @Type = 'Credit' BEGIN SET NOCOUNT ON SET @LBrCode=5; SET @EntryDate=getdate(); SELECT @EntryDate=T.DATE FROM [SYSDB01].DEMODATABSE.[dbo].[TRANS] T; SELECT @PrdAcctId =G.PrdAcctId FROM [SYSDB01].DEMODATABSE.dbo.[GL] G WHERE G.PrdAcctId IS NOT NULL SELECT @AgtPrdAcctId =G.AgtPrdAcctId FROM [SYSDB01].DEMODATABSE.dbo.[GL] G; SELECT @AMOUNT =T.AMOUNT FROM [SYSDB01].DEMODATABSE.[dbo].[TRANS] T; INSERT INTO [SYSDB01].SECONDDEMODATABSE.dbo.testtable( LBrCode , EntryDate, CustPrdAcctId, AgtPrdAcctId, CustAmt) VALUES (5,getdate(),@PrdAcctId,@AgtPrdAcctId,@AMOUNT) SELECT @LBrCode,T.DATE, G.PrdAcctId,G.AgtPrdAcctId, T.AMOUNT FROM [SYSDB01].DEMODATABSE.dbo.TRANS T ,[SYSDB01].DEMODATABSE.dbo.GL G WHERE T.TYPE='Credit' AND G.AC_NO = T.AC_NO AND G.PrdAcctId IS NOT NULL AND T.status = '5' ----------- --------- --------------- UPDATE a SET a.status ='6' from [SYSDB01].DEMODATABSE.dbo.[TRANS] a INNER JOIN [SYSDB01].DEMODATABSE.dbo.[GL] b ON a.AC_NO=b.AC_NO WHERE a.TYPE='Credit' AND b.AC_NO = a.AC_NO AND a.status='5' PRINT 'AFTER INSERT trigger fired.' END END GO
johannesnestler
так в чем же проблема? Почему ваше решение не работает? быстрый поиск в Google привел меня к следующему: https://stackoverflow.com/questions/30648748/syntax-for-sql-trigger-to-insert-data-in-another-db-and-also-to-update-any-field
Santosh kumar Pithani
Нет необходимости использовать триггеры его проблема производительности использовать "выход" cla...