SQL主动抛出异常RAISERROR的用法
SQL主动抛出异常RAISERROR的用法在删除数据前,务必检查业务系统的关联数据,不可随意删除!
若有关联数据,要主动抛出异常:
扫一扫加微信
比如要删除形式发票(PI),要检查是否有《生产单》数据以及《收款》数据关联:
SQL Code:
DECLARE @RefCount INT;
--查询关联的记录数量
SELECT @RefCount=ISNULL(@RefCount,0)+COUNT(*) FROM dbo.tb_IVs WHERE RefPINO IN (SELECT COL FROM dbo.ufn_Split(@DocNo,',',1))
SELECT @RefCount=ISNULL(@RefCount,0)+COUNT(*) FROM dbo.tb_PF WHERE RefPINO IN (SELECT COL FROM dbo.ufn_Split(@DocNo,',',1))
IF @RefCount>0
BEGIN
RAISERROR('此单据不可删除!',16,1);
END
//来源:C/S框架网 | www.csframework.com | QQ:23404761
--查询关联的记录数量
SELECT @RefCount=ISNULL(@RefCount,0)+COUNT(*) FROM dbo.tb_IVs WHERE RefPINO IN (SELECT COL FROM dbo.ufn_Split(@DocNo,',',1))
SELECT @RefCount=ISNULL(@RefCount,0)+COUNT(*) FROM dbo.tb_PF WHERE RefPINO IN (SELECT COL FROM dbo.ufn_Split(@DocNo,',',1))
IF @RefCount>0
BEGIN
RAISERROR('此单据不可删除!',16,1);
END
//来源:C/S框架网 | www.csframework.com | QQ:23404761
若有关联数据,要主动抛出异常:
RAISERROR('此单据不可删除!',16,1);
扫一扫加微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网