CREATE TRIGGER ZWWLDW_TR
ON ZWWLDW
FOR INSERT AS
DECLARE @ADDR VARCHAR(60), @TELE VARCHAR(20),@KHH VARCHAR(60),@YHZH VARCHAR(20),@SH VARCHAR(20),@LXR varchar(20)
SELECT @ADDR= ZWWLDW_ADDR, @TELE=ZWWLDW_TELE,@KHH=ZWWLDW_KHH,@YHZH=ZWWLDW_YHZH,@SH=ZWWLDW_SH,@LXR=ZWWLDW_LXR
FROM INSERTED
IF (@ADDR IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @ADDR)
END
IF(@TELE IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @TELE)
END
IF(@KHH IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @KHH)
END
IF(@YHZH IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @YHZH)
END
IF(@SH IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @SH)
END
IF(@LXR IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @LXR)
END
这个触发器是我写的,但是没有起作用,我的目的就是当插入这表的时候,检查这几个字段不能为空,请指教,哪里错了,谢谢!
ON ZWWLDW
FOR INSERT AS
DECLARE @ADDR VARCHAR(60), @TELE VARCHAR(20),@KHH VARCHAR(60),@YHZH VARCHAR(20),@SH VARCHAR(20),@LXR varchar(20)
SELECT @ADDR= ZWWLDW_ADDR, @TELE=ZWWLDW_TELE,@KHH=ZWWLDW_KHH,@YHZH=ZWWLDW_YHZH,@SH=ZWWLDW_SH,@LXR=ZWWLDW_LXR
FROM INSERTED
IF (@ADDR IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @ADDR)
END
IF(@TELE IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @TELE)
END
IF(@KHH IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @KHH)
END
IF(@YHZH IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @YHZH)
END
IF(@SH IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @SH)
END
IF(@LXR IS NULL)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @LXR)
END
这个触发器是我写的,但是没有起作用,我的目的就是当插入这表的时候,检查这几个字段不能为空,请指教,哪里错了,谢谢!
解决方案 »
- 关于 Set Nocount On 的奇怪的问题
- 怎么使用SQLDMO还原数据库并把它移动到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下
- 删除char空格
- 如何用SQL语句插入邮件地址
- 一个表增加字段、触发器失败,一直显示sql语句执行中,但无法完成
- sql统计,谢谢大家帮忙
- 属性不同的产品,其资料如何存放?
- 执行EXEC master..xp_cmdshell存储过程,提示‘命令行有未知参数“and”’问题
- 是否有专门工具来模拟实际使用环境以测试数据库服务器?
- 求教个数据库附加的问题,最好能给个解释
- sql server 中XML太长 提取时数据丢失 解决????
- 求助 同一个服务器下四个数据库 一张表同步
为什么不用约束not null 呢?
ON ZWWLDW
FOR INSERT AS
DECLARE @ADDR VARCHAR(60), @TELE VARCHAR(20),@KHH VARCHAR(60),@YHZH VARCHAR(20),@SH VARCHAR(20),@LXR varchar(20)
SELECT @ADDR= ZWWLDW_ADDR, @TELE=ZWWLDW_TELE,@KHH=ZWWLDW_KHH,@YHZH=ZWWLDW_YHZH,@SH=ZWWLDW_SH,@LXR=ZWWLDW_LXR
FROM INSERTED
IF (@ADDR ='')
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @ADDR)
END
IF(@TELE ='')
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @TELE)
END
IF(@KHH ='')
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @KHH)
END
IF(@YHZH ='')
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @YHZH)
END
IF(@SH ='')
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @SH)
END
IF(@LXR ='')
BEGIN
ROLLBACK TRANSACTION
RAISERROR('请确认后重新录入!',16,1, @LXR)
END这么写就对了,感谢大家哦!