我是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