sqlserver触发器如何知道当前处理啥类型的触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver触发器如何知道当前处理啥类型的触发相关的知识,希望对你有一定的参考价值。
ALTER TRIGGER Accessory_T ON dbo.Accessory
AFTER UPDATE, DELETE, INSERT
AS
--获取更改的ID
DECLARE @ID NVARCHAR(50)
SELECT @ID = MaterialID
FROM deleted
--插入到记录表当中
INSERT INTO dbo.SyncStatus
( ID ,
TableName ,
PrimaryKey ,
PrimaryKeyName ,
State
)
VALUES ( NEWID() , -- ID - nvarchar(50)
'Accessory' , -- TableName - nvarchar(50)
@ID , -- PrimaryKey - nvarchar(50)
'MaterialID' , -- PrimaryKeyName - nvarchar(50)
'处理的什么类型(update,insert,delete)' -- State - nvarchar(50)
)
我想在insert update delete执行的时候插入记录,但是我想写在一个触发器里面,请问如何知道当前是什么触发呢? 我一共就25财富值...等下再给5的财富值吧.谢谢大家了.
当inserted有数据,deleted没数据,说明是INSERT触发
当inserted没有数据,deleted有数据,说明是DELETE触发当inserted和deleted都有数据,说明是UPDATE触发本回答被提问者和网友采纳 参考技术B INSERT/UPDATE/DELETE行为判断 的触发器例子代码
对于 FOR INSERT,UPDATE,DELETE 的
通过 查询 inserted 与 deleted 的记录 来判断
CREATE TRIGGER AfterAllTest
ON test_trigger_table
FOR INSERT,UPDATE,DELETE
AS
BEGIN
PRINT('AFTER ALL');
IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
BEGIN
PRINT('INSERTING');
END;
IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
BEGIN
PRINT('UPDATING');
END;
IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
BEGIN
PRINT('DELETING');
END;
END;
go
1> INSERT INTO test_trigger_table(id, name) VALUES (1, 'ABC');
2> UPDATE test_trigger_table SET name = 'XYZ' WHERE id = 1;
3> DELETE FROM test_trigger_table WHERE id = 1;
4> go
AFTER ALL
INSERTING
(1 行受影响)
AFTER ALL
UPDATING
AFTER ALL
DELETING
1>
在按钮 B 的触地期间触发按钮 A 上的触地
【中文标题】在按钮 B 的触地期间触发按钮 A 上的触地【英文标题】:Trigger a TouchDown on Button A during TouchDown of Button B 【发布时间】:2012-05-10 19:20:54 【问题描述】:我正在尝试用两个按钮交换触摸事件。当一个按钮的 TouchDown 事件被触发时,我会在当前被触摸的按钮上加载一个新按钮。问题是我需要选择这个新按钮进行拖动。我需要取消第一个按钮的 TouchDown,然后将其强制到新按钮上,以便用户立即开始拖动它。如何手动拨打我的widgetTouch:(id)sender forEvent:(UIEvent *)event
并保持触摸?
【问题讨论】:
【参考方案1】:我会试试[button sendActionsForControlEvents: UIControlEventTouchDown]
【讨论】:
这在一定程度上有效 - 触摸事件被调用,但是当我尝试移动时它不会触发我的 Touch Drag Inside 事件。 嗯...下面的按钮是否还在对该事件做出反应? 另外,如果你告诉按钮成为FirstResponder会发生什么? 不,但只是因为我正在调用 [control touchesCancelled:nil withEvent:event];在底部按钮上。如果我告诉它成为第一响应者,这没什么新鲜的。以上是关于sqlserver触发器如何知道当前处理啥类型的触发的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver 中创建触发器execute master有啥作用
Azure 触发的 Webjob - 检测 webjob 何时停止