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 入住酒店文案祝福语简短