以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于sql server触发器的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141451) |
-- 作者:scofields -- 发布时间:2019/9/29 14:18:00 -- 关于sql server触发器的问题 为防止填写者重复填写数据,重复点击数据上传,我的思路是通过在表中创建触发器,可以下触发器,似乎不起作用,怎么修改啊? ALTER trigger [tri] on [dbo].[区域日报表] for insert as declare @s datetime declare @s1 nchar(4) s elect @s=报表日期,@s1=编码 from inserted if (s elect count(*) from 区域日报表 where 报表日期=@s and 编码=@s1)> 0 begin rollback transaction end |
-- 作者:有点蓝 -- 发布时间:2019/9/29 16:48:00 -- 试试 rollback transaction 改为 RAISERROR (\'数据不能重复\', 16, 10) rollback |
-- 作者:scofields -- 发布时间:2019/9/30 16:41:00 -- 还是不行,不知道哪里出了问题。 |
-- 作者:有点蓝 -- 发布时间:2019/9/30 16:51:00 -- 我测试了一下,用法没有问题。 到数据库测试,看看结果输出什么内容,是不是数据问题 …… declare @s datetime declare @s1 nchar(4) select @s=报表日期,@s1=编码 from inserted print @s print @s1 ……
|