select a.id,a.time 时间,a.name,sum(case isFlag when '否' then 1 when '是' then 1 else 0 end) as '过期数据条数',sum(num) 数量 from table_A a, table_B b where a.id= b.parentid group by a.id,a.name,a.time
邳州网站建设公司创新互联建站,邳州网站设计制作,有大型网站制作公司丰富经验。已为邳州数千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的邳州做网站的公司定做!
sqlserver的9001错误描述如下:
9001 21 The log for database 'Database Name' is not available.
where datediff(second,updatetime,getdate())=86400
sqlserver写法如上
----------补充------------
mysql
TO_seconds(now())- TO_seconds(updatetime)=86400
对于要求1,有两种做法
1、在设计数据库的时候,带入时间戳和是否删除字段,新增、修改都要更新这个字段,除此之外,删除是伪删除,也要更新时间戳,然后记录上次的时间戳,就可以取出增量数据了
2、如果设计数据库时未有该内容,只能在加一个类似日志表的东西,记录了什么时候,哪个表,哪行数据,干什么了,然后从这里读取增量
要求2可以通过数据库用户权限完成
要求3和4不明白
给个简单的示例
IF Exists(Select Name
From Sysobjects
Where Name='Tr_test'
And type='tr')
Drop Trigger Tr_test
Go
Create trigger Tr_test
on test
FOR DELETE, INSERT, UPDATE
As
Begin
insert into log_test select getdate()
End
Go
其中test是要监控的table,log_test为记录表,只有一个datetime的列,当然你还可以设计更多的列来记录其他的东西
你贴的代码有些乱
我看你代码中是是调用的存储过程。
在触发器中添加一下事务,然后运行,检查一下数据是否同步。