我是SQL Server和T-SQL的新手。我在同一個Microsoft SQL Server上有兩個數據庫(dbA和dbB)。這兩個數據庫具有完全相同字段的表,即dbA.dbo.fldA,dbA.dbo.fldB,dbA.dbo.fldC,dbB.dbo.fldA,dbB.dbo.fldB和dbB.dbo.fldC。無論何時在dbA中添加一條滿足條件的新記錄(例如,dbA.dbo.fldC <> 0),我想要一個觸發器,它會自動將此記錄添加到dbB中。但相反,如果在dbB中添加記錄,則不應將其自動複製到dbA。MS SQL Server觸發器在表中添加記錄
這是我目前的觸發器。但我不確定我應該如何激活它。
CREATE TRIGGER tradesToOps
ON dbInv.dbo.tblDatTradesToday
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @INSERT INT, @DELETE INT
SET @INSERT = (SELECT COUNT(*) FROM INSERTED)
SET @DELETE = (SELECT COUNT(*) FROM DELETED)
-- when Insert happens
IF @INSERT = 1 AND @DELETE = 0
BEGIN
INSERT INTO dbOps.dbo.tblDatTrades
SELECT * FROM INSERTED
END
-- Insert statements for trigger here
END
最佳,
馬努
到底是什麼問題?你試過什麼了? – SchmitzIT 2014-08-27 12:36:18
從你的問題看來,你不明白觸發器是如何工作的或者如何創建一個,或者是基於布爾謂詞有條件地插入記錄的T-SQL語句。您只需創建一個觸發器即可執行上述操作(使用適當的T-SQL插入語句)。閱讀關於觸發器的MSDN,以及有關T-SQL插入語句和T-SQL If語句的信息。 – 2014-08-27 12:38:19
請參閱http://msdn.microsoft.com/en-us/library/ms189799.aspx和http://msdn.microsoft.com/en-us/library/ms174335.aspx和http://msdn.microsoft。 com/en-us/library/ms182717.aspx – 2014-08-27 12:40:42