时间 代理号 收入金额
2007-09-08 001 2
2007-09-08 001 2
2007-09-08 001 2
2007-09-08 002 2
2007-09-08 003 2
2007-09-08 004 2
2007-09-08 001 2
2007-09-08 001 2我想利用作业(job),把每个代理的每天的收入插入到另一个表中时间 代理 收入总额需要写一个循环插入? 希望能帮忙,谢谢
2007-09-08 001 2
2007-09-08 001 2
2007-09-08 001 2
2007-09-08 002 2
2007-09-08 003 2
2007-09-08 004 2
2007-09-08 001 2
2007-09-08 001 2我想利用作业(job),把每个代理的每天的收入插入到另一个表中时间 代理 收入总额需要写一个循环插入? 希望能帮忙,谢谢
select convert(char(10),时间,120) as '时间',sum(isnull(收入金额,0)) as '收入金额'
from 表
group by convert(char(10),时间,120)
select 时间,代理号,sum(收入金额) from 表1 where datediff(dd,时间,getdate())=1 group by 时间,代理号
select convert(char(10),时间,120) as '时间',sum(isnull(收入金额,0)) as '收入金额'
from 表
where datediff(day,时间,getdate())=0
group by convert(char(10),时间,120)
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
insert into 表2(时间,代理,收入总额)
select 时间,代理号,sum(收入金额) from 表1 where datediff(dd,时间,getdate())=1 group by 时间,代理号 --确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排为每天凌晨00:00:00执行,以insert前一天的汇总数据
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
如下是job
--作业与调度
--使用JOB
--企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
EXEC 存储过程名... --该存储过程用于创建表--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排 --该处设置为每月日的凌晨:00:00
--然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行--设置方法:
--我的电脑--控制面板--管理工具--服务--右键SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
IF EXISTS(SELECT * FROM msdb.dbo.sysjobs WHERE name='启用pubs数据库')
EXEC msdb.dbo.sp_delete_job @job_name='启用pubs数据库'--定义创建作业
DECLARE @jobid uniqueidentifier
EXEC msdb.dbo.sp_add_job
@job_name = N'启用pubs数据库',
@job_id = @jobid OUTPUT--定义作业步骤
DECLARE @sql nvarchar(400),@dbname sysname
SELECT @dbname=N'master', --数据库联机或者脱机只能在master数据库中进行
@sql=N'ALTER DATABASE pubs SET ONLINE' --使用pubs数据库联机(启用)
EXEC msdb.dbo.sp_add_jobstep
@job_id = @jobid,
@step_name = N'启用pubs数据库处理',
@subsystem = 'TSQL',
@database_name=@dbname,
@command = @sql--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,
@name = N'启用pubs数据库处理调度',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x1,
@freq_subday_interval=1,
@active_start_time = 075000 --每天07:50分执行--添加目标服务器
DECLARE @servername sysname
SET @servername=CONVERT(nvarchar(128),SERVERPROPERTY(N'ServerName'))
EXEC msdb.dbo.sp_add_jobserver
@job_id = @jobid,
@server_name = @servername
select convert(char(10),时间,120) as [时间],sum(isnull(收入金额,0)) as [收入金额]
from table1
where datediff(day,时间,getdate())=0
group by convert(char(10),时间,120)
update ..
else
insert ..