我有了一个用户ID列反正是有可在SQL服务器数据库触发器
我有了ID,名称的用户表中的订单表中使用的缓存数据,
我会喜欢有一个数据库触发器,显示按名称插入,更新或删除。
所以我结束了每个单独的数据库触发器上这两个表之间的连接。我认为这样会更好,如果我可以预先将用户映射到ID,然后在我的触发器上重复使用“lookup”。 。这可能吗?
DECLARE @oldId int
DECLARE @newId int
DECLARE @oldName VARCHAR(100)
DECLARE @newName VARCHAR(100)
SELECT @oldId = (SELECT user_id FROM Deleted)
SELECT @newId = (SELECT user_id FROM Inserted)
SELECT @oldName = (SELECT name FROM users where id = @oldId)
SELECT @newName = (SELECT name FROM users where id = @newId)
INSERT INTO History(id, . . .
请注意,如果您更新一个事务中的两条记录,则此触发器将失败,因为已删除和插入的子查询将返回两条记录。 – 2010-01-07 03:11:00