求一个“作业”要怎么写???
现在由于表里的数据量太大,,因此做了每个月的分表,
现在要对表里的记录进行日统计。。
考虑到查询速度。。
想做一个表为统计表。。。
所以要做一个“作业”在每天晚上对表里的数据进行统计。。
将统计后的数据插入到新建的统计表中。。。
这个“作业”要怎么写呀???
表:Statistic
ID,CODE,SUM,DATE,ASUM,BSUM,CSUM
CODE,,是从另一张表A里查到的,
SUM。。select count(*) from B where submitdate> = '昨天 'and submitdate <= '今天 ' and code= ' '
DATE。。昨天的时间
ASUM select count(*) from C where submitdate> = '昨天 'and submitdate <= '今天 '
and code= ' '
...............
如何把所有这些统计出来的数据通过这个“作业”插入到新建 的那张统计表(Statistic )里呀???
------解决方案--------------------你把你要实现的功能先写一个存储过程实现.然后在作业中调用执行这个存储过程就可以了.
------解决方案--------------------先写存储过程
CREATE PROCEDURE InsertData
AS
INSERT INTO Statistic (CODE, SUM, DATE, ASUM, BSUM, CSUM)
SELECT CODE,
(select count(*) from B where submitdate> = '昨天 'and submitdate <= '今天 ' and code= ' '), --SUM
getdate()-1,
select count(*) from C where submitdate> = '昨天 'and submitdate <= '今天 'and code= ' ', --ASUM
BSUM,
CSUM
--然后定义作业,让作业定时执行存储过程InsertData
EXEC InsertData
------解决方案--------------------不好意思,
时间getdate()-1应该转化成 'yyyy-mm-dd '格式
------解决方案--------------------up
------解决方案--------------------INSERT INTO Statistic (CODE, SUM, DATE, ASUM, BSUM, CSUM)
SELECT CODE,
(select count(*) from B where submitdate> = '昨天 'and submitdate <= '今天 ' and code= ' '), --SUM
getdate()-1,
select count(*) from C where submitdate> = '昨天 'and submitdate <= '今天 'and code= ' ', --ASUM
BSUM,
CSUM...
select 后面还少了FROM吧???要怎么写????
insert into表名() valuese中可以用select 字句吗????
------解决方案--------------------up
------解决方案--------------------INSERT INTO Statistic (CODE, SUM, DATE, ASUM, BSUM, CSUM)
SELECT CODE,
(select count(*) from B where submitdate> = '昨天 'and submitdate <= '今天 ' and code= ' '), --SUM
getdate()-1,
select count(*) from C where submitdate> = '昨天 'and submitdate <= '今天 'and code= ' ', --ASUM
BSUM,
CSUM...
select 后面还少了FROM吧???要怎么写????
insert into表名() valuese中可以用select 字句吗????
========================
可以的