更新后的 MSSQL 触发器
MSSQL Trigger After update
我在 mssql 中有两个 table。
当向table中输入数据时,老虎table中的STOCK列应该是-1,如果STOCK列等于0,那么STATUS应该是false。请帮忙
当您将它插入到TBLACTION仪表盘时,它将在TBLBOOK仪表盘上触发
我英语说得不好。对不起。
对于每个需求,我们都有多种解决方案。让我们试试这个:
在table中输入数据时,老虎table中的STOCK列应该是-1
如果 STOCK 列等于 0,则 STATUS 应该为 false
当你将它插入到TBLACTION仪表板时,它会在TBLBOOK上触发
3.a) 有人拿了书,插入时 ReturnDate 列应该为 NULL;
3.b) 有人 return 这本书然后你应该更新列 ReturnDate
创建触发器 [dbo]。[TBLBOOKInserted]
在 [dbo].[TBLBOOK]
插入后
作为
开始
设置无计数;
更新 TBLBOOK
放
股票 = -1
在哪里
库存为空且
ID IN(SELECT INSERTED.ID 来自插入)
结尾
开始
创建触发器 [dbo].[TBLBOOKUpdate]
在 [dbo].[TBLBOOK]
更新后
作为
开始
设置无计数;
更新 TBLBOOK
放
图书状态 = 0
在哪里
股票 = 0 和
ID IN(SELECT INSERTED.ID 来自插入)
结尾
开始
创建触发器 [dbo].[TBLACTIONInsert]
在 [dbo].[TBLACTION]
插入后
作为
开始
设置无计数;
更新 TBLBOOK
放
库存 = 库存 1
在哪里
ID IN (SELECT INSERTED.BOOK FROM INSERTED WHERE RETURNDATE IS NULL)
结尾
开始
创建触发器 [dbo].[TBLACTIONUpdate]
在 [dbo].[TBLACTION]
更新后
作为
开始
设置无计数;
更新 TBLBOOK
放
股票 = 股票 + 1
在哪里
ID IN (SELECT INSERTED.BOOK FROM INSERTED WHERE RETURNDATE IS NOT NULL) 和
ID IN (SELECT DELETED.BOOK FROM DELETED WHERE RETURNDATE IS NULL)
结尾
开始
我在 mssql 中有两个 table。
当向table中输入数据时,老虎table中的STOCK列应该是-1,如果STOCK列等于0,那么STATUS应该是false。请帮忙
当您将它插入到TBLACTION仪表盘时,它将在TBLBOOK仪表盘上触发
我英语说得不好。对不起。
对于每个需求,我们都有多种解决方案。让我们试试这个:
在table中输入数据时,老虎table中的STOCK列应该是-1
如果 STOCK 列等于 0,则 STATUS 应该为 false
当你将它插入到TBLACTION仪表板时,它会在TBLBOOK上触发 3.a) 有人拿了书,插入时 ReturnDate 列应该为 NULL; 3.b) 有人 return 这本书然后你应该更新列 ReturnDate
创建触发器 [dbo]。[TBLBOOKInserted] 在 [dbo].[TBLBOOK] 插入后 作为 开始
设置无计数;
更新 TBLBOOK 放 股票 = -1 在哪里 库存为空且 ID IN(SELECT INSERTED.ID 来自插入) 结尾 开始
创建触发器 [dbo].[TBLBOOKUpdate] 在 [dbo].[TBLBOOK] 更新后 作为 开始
设置无计数;
更新 TBLBOOK 放 图书状态 = 0 在哪里 股票 = 0 和 ID IN(SELECT INSERTED.ID 来自插入) 结尾 开始
创建触发器 [dbo].[TBLACTIONInsert] 在 [dbo].[TBLACTION] 插入后 作为 开始
设置无计数;
更新 TBLBOOK 放 库存 = 库存 1 在哪里 ID IN (SELECT INSERTED.BOOK FROM INSERTED WHERE RETURNDATE IS NULL) 结尾 开始
创建触发器 [dbo].[TBLACTIONUpdate] 在 [dbo].[TBLACTION] 更新后 作为 开始
设置无计数;
更新 TBLBOOK 放 股票 = 股票 + 1 在哪里 ID IN (SELECT INSERTED.BOOK FROM INSERTED WHERE RETURNDATE IS NOT NULL) 和 ID IN (SELECT DELETED.BOOK FROM DELETED WHERE RETURNDATE IS NULL) 结尾 开始