/*
POOrder_PriceCheck 检查采购订单是否有零单价
*/
CREATE trigger POOrder_PriceCheck --自定义触发器的名称
on poorder --采购订单表 此处为表名,触发器的表名,意为在哪个表创建触发
for insert --触发类型:INSERT、UPDATE、DELETE;分别意为插入时、更新时、删除时触发,依据英文意思理解即可
as
declare @FInterID int --声明变量@finterid
select @FInterID = FInterID from inserted
--取当前插入单据的单据内码
if exists ( --检查子查询是否有为 0 的单价
select * from poorder a, poorderentry b --采购订单表 a, 采购订单分录表 b
where a.FInterID = b.FInterID --采购订单表.单据内码 = 采购订单分录表.单据内码
and a.FInterID = @FInterID --采购订单表.单据内码 = 当前插入单据的单据内码
and b.FPrice = 0) --采购订单分录表.单价 = 0
begin --判断是否成立
raiserror('单价为0,不允许保存',18,18) --弹出提示信息
rollback tran --撤销已插入的部分记录
end
检查采购订单是否有零单价
最新推荐文章于 2022-10-18 08:00:24 发布