编写一个触发器,不允许一次性删除多条记录
答案:2 悬赏:80 手机版
解决时间 2021-02-14 18:33
- 提问者网友:不要迷恋哥
- 2021-02-14 14:07
编写一个触发器,不允许一次性删除多条记录
最佳答案
- 五星知识达人网友:掌灯师
- 2021-02-14 14:49
数据库:sql2000测试可行
create trigger del_ed on 表名
for delete
as
begin
declare @errno int,
@errmsg varchar(255)
declare @num int
select @num=count(*) from deleted
if @num>=2
begin
select @errno = 33333, @errmsg = '不可同时删除两笔以上数据 !! '
goto error
end
return
error:
raiserror @errno @errmsg
rollback transaction
end
create trigger del_ed on 表名
for delete
as
begin
declare @errno int,
@errmsg varchar(255)
declare @num int
select @num=count(*) from deleted
if @num>=2
begin
select @errno = 33333, @errmsg = '不可同时删除两笔以上数据 !! '
goto error
end
return
error:
raiserror @errno @errmsg
rollback transaction
end
全部回答
- 1楼网友:舍身薄凉客
- 2021-02-14 15:56
应当说是你删除多少行,逻辑表deleted中就有多少行数据,因为触发器是只认操作,不管你操作多少行的。说明是你的触发器处理脚本编写的有问题,尝试在触发器的处理代码中从逻辑表中读取所有删除过的记录的id,然后使用批量删除的语句删除从表中对应的记录。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯