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
热门推荐
7 庆双节祝福语简短
10 送个姐妹生日祝福语简短
11 青春告白祖国简短祝福语
12 中考祝福语简短卡片大全
13 职场离职文案祝福语简短
14 女神节日简短祝福语大全
15 许愿星姐妹祝福语简短
16 送女士祝福语长辈简短
17 美丽晚霞祝福语简短句
18 金店立秋祝福语简短英文