sql server中如何通过触发器限制某个字段不允许为空字符串

第1部分:应用场景

根据我上篇文章《sql server中如何通过约束限制某个表的某个字段不允许为空字符串》所述,不得不通过约束限制某个字段不允许空字符,相比之下,该篇文章的做法更好,更方便,但是在此之前,我是通过触发器限制的,虽然准备弃用这个方案,但是依然做个记录。

第2部分:解决方案


--模板
CREATE  TRIGGER [dbo].[触发器名称] ON [dbo].[表名称]  
FOR   insert ,update 
AS
Declare @Count int
select @Count =count(1) from inserted where ISNULL(要限制不为空字符的字段,'')=''
if @Count > 0
 begin
  rollback tran 
  RAISERROR ('数据插入出现异常,请重试!', 16, 1)
 end
GO

--以下为实例
CREATE  TRIGGER [dbo].[tr_Tbldelivery_NoNullString] ON [dbo].[tblDelivery]  
FOR   insert ,update 
AS
Declare @Count int
select @Count =count(1) from inserted where ISNULL(DeliveryNo,'')=''
if @Count > 0
 begin
  rollback tran 
  RAISERROR ('数据插入出现异常,请重试!', 16, 1)
 end
GO
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容