SQL Server:触发器调用 - 存储过程递归删除父子类

存储过程:

-- =============================================
-- Author: Kevin.Chen
-- Create date: 2012-06-13
-- Description:	<Description, ,>
-- =============================================
CREATE PROCEDURE [dbo].[UP_CategoryDelete] 
(
	@code NVARCHAR(50)
)
AS
BEGIN
	DECLARE @CategoryCode NVARCHAR(50);
	DECLARE cur CURSOR local FOR SELECT CategoryCode FROM UT_SYS_WebInfoCategory WHERE ParentCode = @code
			
	begin transaction
		
	OPEN cur 
	FETCH NEXT FROM cur INTO @CategoryCode
	WHILE @@FETCH_STATUS = 0
	BEGIN
		EXEC [dbo].[UP_CategoryDelete] @CategoryCode 
		FETCH NEXT FROM cur INTO @CategoryCode
	END
	
	CLOSE cur;
	DEALLOCATE cur;
	
	DELETE FROM dbo.UT_BLL_TeaProduct WHERE CategoryCode=@code;
	DELETE FROM dbo.UT_BLL_ContactUs WHERE CategoryCode=@code;
	DELETE FROM dbo.UT_BLL_VideoCenter WHERE CategoryCode=@code;
	DELETE FROM dbo.UT_SYS_WebInfo WHERE CategoryCode=@code;
	DELETE FROM dbo.UT_SYS_WebInfoCategory WHERE CategoryCode=@code;

	if @@error > 0
	begin
		rollback transaction
	end
	else
	begin
		commit transaction
	end
 
END


触发器:

-- =============================================
-- Author: Kevin.Chen
-- Create date: 2012-06-13
-- Description:	<Description,,>
-- =============================================
CREATE TRIGGER [dbo].[deleteChildAndInfoTrigger]
   ON  [dbo].[UT_SYS_WebInfoCategory]
   AFTER DELETE
AS 
BEGIN
	SET NOCOUNT ON;
	declare @code nvarchar(50);
	select @code = CategoryCode from deleted
    exec [dbo].[UP_CategoryDelete] @code
END


 

望对您有用哦 O(∩_∩)O~

Kevin.Chen

2012 - 06 -13 于苏州太仓

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小壁虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值