关于SQL server 2008 触发器 的问题

如题,我现在在table4里建立个触发器,想从MachineStatus表里读取插入时的数据,符合条件则
插入数据到table4,可为什么触发器好像并没有读取到MachineStatus表里插入的数据呢
图片说明

没问题吧。。你怎么知道查询不到值?

你2个排序不一样,第一个没有orderby会按照添加的先后顺序,另外一个是按照itime,排序最好统一起来

刚刚试验了下,如果把@变量取消,直接select top 1 status,itime,kid的话,是能查询到数据的,但为什么加上@变量就不行了呢,这样的话我就无法实现插入数据到table4的条件了

图片说明这样就是可以的啊

但是如果没有@变量的话,我就不能实现新数据与上一条数据,两条数据作比较的效果了,我是想实现插入的数据与上一条插入的数据做比较判断,如果
上一条数据的status字段为0,新插入的数据的status字段是非0值,则把这两条数据记录往table4插入

select top 1 @oldStatus = status from MachineStatus where kid <>@minid order by itime ASC 这句代码是旧数据记录赋值 接下来就是判断新纪录
与旧记录的比较,判断是否从0变为非0或者是非0变为0才执行

图片说明

插入的MachineStatus表的记录
图片说明

可table4一条记录都没有。。。。为什么会这样,难道是我触发器哪的逻辑还有错??
图片说明

真的奇怪了,最新的值是0,旧的记录值为1,没错啊,可为什么记录没有插入去table4呢??0.0
图片说明