如何获取表中最后一次被操作过的行?

我被可乐淹死了 2006-07-04 09:18:32
如题。
...全文
370 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
晕,
问题解决。揭帖
hellowork 2006-07-10
  • 打赏
  • 举报
回复
如果楼主想获得每个SQL语句影响到的行,只能使用SQLSERVER触发器中提供的deleted和inserted虚拟表.最好分别创建insert,update,delete触发器,在触发器中将根据需要有选择地把这二个表中的数据插入到自己创建的日志表中(使用insert...select...),用于跟踪表的变化.注意要把插入到日志表这个操作放到事务中.
如果楼主想测试触发器中被影响的行,可以在触发器中使用select查询一下.如:
create trigger trigger_i on yourtable
for insert
as
select 'insert.inserted',* from inserted
select 'insert.deleted',* from deleted
go
create trigger trigger_u on yourtable
for update
as
select 'update.inserted',* from inserted
select 'update.deleted',* from deleted
go
create trigger trigger_d on yourtable
for delete
as
select 'delete.inserted',* from inserted
select 'delete.deleted',* from deleted
go
  • 打赏
  • 举报
回复
to mustudent(小生)
如果是update或delete?
Simore 2006-07-10
  • 打赏
  • 举报
回复
--------------------------------------------------------------
您好,我们是“2006中国杰出数据库工程师评选”活动组委会。
您的帖子已经被我们转载到本次评选官方网站的“专家在线答疑”区。
http://www.bestdba.cn/match_discussion.aspx

在那里,进入本次评选复选的90位数据库工程师将与您展开积极的互动。
一方面,他们会为您的问题提供满意的答案,
另一方面,也邀请您为他们投上宝贵的选票。

2006-7-8 ~ 2006-7-25日,每天我们将从当天参与"有奖投票"的网友
中抽取3名幸运者,赠送由IBM提供的精美礼品一份!

此外,您还可以在“专家在线答疑”区提出新的问题并参与讨论。

您的帖子位于:
http://www.bestdba.cn/match_discussion3.aspx?pointid=17&pointid2=1&pointid3=5

非常感谢您对本次活动的支持!
--------------------------------------------------------------
mustudent 2006-07-10
  • 打赏
  • 举报
回复
to kkbspod(我被可乐淹死了)
你每次操作的时候都要修改 Max值 包括 修改
Delete 你怎么可以看影响的行哪?

如果是Delete的话 Triger吧
把 记录放到一个表中,然后 如果是有其他纪录清空这个表

然后 查询最后操作行的时候,先察看Delete表 是不是没有纪录 如果没有在去察看最大的Max
chenyuandxm 2006-07-07
  • 打赏
  • 举报
回复
推荐给你一个软件,log explorer,可以到网上下载。
很好用的一款软件,其实它的原理就是利用sql的操作日志,让你看到你所有曾经的操作,而且可以恢复你所做的操作。
  • 打赏
  • 举报
回复
顶起来
mustudent 2006-07-07
  • 打赏
  • 举报
回复
写触发器,或者是在表中增加列 每次操作的时候Max+1 这样 扎找最大的Max就可以了
十一月猪 2006-07-07
  • 打赏
  • 举报
回复
log explorer
@@rowcount 只是返回影响的行数
怎么通过@@rowcount 查找数据
不明白
qyz 2006-07-06
  • 打赏
  • 举报
回复
写个触发器,表修改时把记录保存在另一个专门的表中
xyxfly 2006-07-06
  • 打赏
  • 举报
回复
选出表中第N行记录可以吧,N就是@@rowcount
xyxfly 2006-07-06
  • 打赏
  • 举报
回复
再把这行选出来:)
itzhiren 2006-07-06
  • 打赏
  • 举报
回复
我也想知道,最好能把整个记录查询出来
  • 打赏
  • 举报
回复
select @@rowcount
只有行数,如何获取数据?比如key?
  • 打赏
  • 举报
回复
select @@rowcount
只有行数,如何获取数据?比如key?
bh812 2006-07-06
  • 打赏
  • 举报
回复
select @@rowcount
是对的,
云中客 2006-07-06
  • 打赏
  • 举报
回复
select @@rowcount
  • 打赏
  • 举报
回复
就是获取该表中最后最后一次被修改,删除,插入的纪录集合
chenyuming2004 2006-07-04
  • 打赏
  • 举报
回复
select @@IDENTITY
dulei115 2006-07-04
  • 打赏
  • 举报
回复
select @@rowcount
加载更多回复(1)

34,838

社区成员

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

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