SqlServer实现类似Oracle的before触发器示例
1.插入数据前判断数据是否存在
SETANSI_NULLSON GO SETQUOTED_IDENTIFIERON GO --============================================= --Author:<Author,,Name> --Createdate:<CreateDate,,> --Description:<Description,,> --============================================= alterTRIGGERCategoryExistTrigger ONProductCategory insteadofinsert AS declare@categoryNamevarchar(50); BEGIN --SETNOCOUNTONaddedtopreventextraresultsetsfrom --interferingwithSELECTstatements. SETNOCOUNTON; --Insertstatementsfortriggerhere select@categoryName=CategoryNamefrominserted; ifexists(select*fromProductCategorywhereCategoryName=@categoryName) begin print'Categoryexists..' end; else begin insertintoProductCategoryselect*frominserted; end; END
2.删除表中数据时需要先删除外键表的数据
SETANSI_NULLSON GO SETQUOTED_IDENTIFIERON GO --============================================= --Author:<Author,,Name> --Createdate:<CreateDate,,> --Description:<Description,,> --============================================= alterTRIGGERDeleteOrderTrigger ONOrderHeader insteadofdelete AS declare@OrderIdvarchar(50); BEGIN SETNOCOUNTON; select@OrderId=OrderIdfromdeleted; deletefromOrderLinewhereOrderId=@OrderId; END GO
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话