日期:2014-05-18  浏览次数:20815 次

求一个“作业”要怎么写???
现在由于表里的数据量太大,,因此做了每个月的分表,
现在要对表里的记录进行日统计。。
考虑到查询速度。。
想做一个表为统计表。。。
所以要做一个“作业”在每天晚上对表里的数据进行统计。。
将统计后的数据插入到新建的统计表中。。。
这个“作业”要怎么写呀???
表: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 字句吗????


========================
可以的