新手求一触发器写法(存储过程也行)

pc372 2007-12-13 11:16:47
表ag
Id wUrl Uid IsTop
---------------------------
1 75 2 1
2 75 null 0
3 76 null 1
4 77 null 0

删除Id=1时,将Id=2的IsTop=1
正常删除Id=2
同时删除Id=1,Id=2时,保留其中一行,并将Uid=null,IsTop=1
删除Id=3时,不变动,即保留Id=3的数据(因为wUrl=76的记录只有一条)
删除Id=4时,保留Id=4,并将其IsTop=1

...全文
126 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2007-12-13
  • 打赏
  • 举报
回复
你说的这么难,不如说你这表是用来干什么的吧.
我看到你的istop和一些描述,猜出来一点点.
-狙击手- 2007-12-13
  • 打赏
  • 举报
回复
sorry ,加一个条件


create trigger triggername
on ag
INSTEAD OF delete
as
begin
if exists(select wUrl from ag group by wUrl having count(1) > 1)
begin
delete from ag where exists(select 1 from inserted)
insert ag select top 1 wUrl,null,1 from inserted
end
else
update ag set Uid = null ,IsTop = 1
end
pc372 2007-12-13
  • 打赏
  • 举报
回复
无论怎么删除
表中都要有Wurl=75,76,77的记录
并且表中只有一行Wurl=75时保证这行的IsTop=1
-狙击手- 2007-12-13
  • 打赏
  • 举报
回复
create trigger triggername
on ag
INSTEAD OF delete
as
begin
if exists(select wUrl from ag group by wUrl having count(1) > 1)
begin
delete from ag
insert ag select top 1 wUrl,null,1 from inserted
end
else
update ag set Uid = null ,IsTop = 1
end
xiaxia421 2007-12-13
  • 打赏
  • 举报
回复
还是没看懂你要说什么

pc372 2007-12-13
  • 打赏
  • 举报
回复
哎呀~
表达能力有严重问题,抱歉抱歉。
pc372 2007-12-13
  • 打赏
  • 举报
回复
Wurl有重复的如果全部都删除了,就新添加一行,这行的Wurl等于刚刚删除行的Wurl,并且设置这行的Uid=null,IsTop=1
如果Wurl值只有一行的,删除时也将这行的Uid=null,IsTop=1
pc372 2007-12-13
  • 打赏
  • 举报
回复
有重复的就如果全部都删除了,就新添加一行,这行的Wurl等于刚刚删除行的Wurl,并且设置这行的Uid=null,IsTop=1
dawugui 2007-12-13
  • 打赏
  • 举报
回复
没看懂,帮顶.
-狙击手- 2007-12-13
  • 打赏
  • 举报
回复
是不是删除时有重复就删除其中一条,并不留下的istop = 1?
pc372 2007-12-13
  • 打赏
  • 举报
回复
表ag
Id wUrl Uid IsTop
------------------------------------------------------
1 75 2 1
2 75 null 0
3 76 null 1
4 77 null 0

表中wUrl字段是表示城市的链接地址,uid是这个城市的客户,IsTop=1时为该城市的代理商,否则为普通客户
现在要保证每个城市默认都有一个IsTop字段的值为1,以便在前台能正常显示每个省的城市列表;
一个城市可以增加多个客户;没有代理的时候uid的值默认为null,删除一个城市的所有客户的时候,需要保留一行默认值。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧