我在查询分析器里 做了以下几步操作
1 select * from inv_h_stock_detail where warehouse = '01' and stock_date = '200103' and on_hand_qty >100(结果 显示出11条符合条件的记录)
2 delete from inv_h_stock_detail where warehouse = '01' and stock_date = '200103' and on_hand_qty >100(结果显示 删除了11条记录)
3 select * from deleted(结果 服务器: 消息 208,级别 16,状态 1,行 1
对象名 'deleted' 无效。) 今天在讨论触发器的帖子里看到 有人使用 DELETED、INSERTING等字样作为表名 但由没有说明建立或存在此表 所以做了实验,不知道各位高手可否讲解一下。
1 select * from inv_h_stock_detail where warehouse = '01' and stock_date = '200103' and on_hand_qty >100(结果 显示出11条符合条件的记录)
2 delete from inv_h_stock_detail where warehouse = '01' and stock_date = '200103' and on_hand_qty >100(结果显示 删除了11条记录)
3 select * from deleted(结果 服务器: 消息 208,级别 16,状态 1,行 1
对象名 'deleted' 无效。) 今天在讨论触发器的帖子里看到 有人使用 DELETED、INSERTING等字样作为表名 但由没有说明建立或存在此表 所以做了实验,不知道各位高手可否讲解一下。
CREATE TRIGGER
Inserted不為空,Deleted為空 --操作:Insert
Inserted不為空,Deleted不為空 --操作:Update
Inserted Scan 逻辑运算符和物理运算符扫描在触发器内插入的表。inserted 和 deleted 表主要用于触发器中: 扩展表间引用完整性。
在以视图为基础的基表中插入或更新数据。
检查错误并基于错误采取行动。
找到数据修改前后表状态的差异,并基于此差异采取行动。