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 婚前女儿生日祝福语简短