首页 > 数据库技术 > 详细

如何让数据库在每天的某一个时刻自动执行某一个存储过程或者某一个sql语句

时间:2015-11-19 23:49:28      阅读:405      评论:0      收藏:0      [点我收藏+]

这就要涉及到代理的知识了哦,首先我们要启动代理服务。

技术分享

技术分享

技术分享

我这里使用的sa帐号登录的咯。

技术分享

技术分享

这里的命令的意思是:将表dbo.MoneyBook中的UserId,MoneyCount,getdate()这个三个字段查询出来,然后在插入到表test中,这里的getdate()是获取当前的时间哈。

技术分享

这里就是控制执行的周期了

技术分享

命令的代码如下,我这里是使用了游标的哈,不明白的可以先找看点基础的教程哈

declare @userid int
declare @inter_money float
declare @date datetime
declare cur cursor
for SELECT UserId,MoneyCount,getdate()
    FROM dbo.MoneyBook

open cur
fetch next from cur into @userid,@inter_money,@date
while(@@fetch_status=0)
begin

insert into test(t_userid,t_money,t_date) values(@userid,@inter_money*0.01,@date)
fetch next from cur into @userid,@inter_money,@date
end
close cur
deallocate cur


表MoneyBook

CREATE TABLE [dbo].[MoneyBook](
    [MoneyId] [int] IDENTITY(1,1) NOT NULL,
    [UserId] [int] NULL,
    [MoneyCount] [float] NULL,
    [MoneyData] [datetime] NULL,
    [TypeId] [int] NULL,
    [StartDate] [datetime] NULL,
    [EndDate] [datetime] NULL,
    [SaveDays] [int] NULL,
    [Remark] [text] COLLATE Chinese_PRC_CI_AS NULL,
 CONSTRAINT [PK_Money] PRIMARY KEY CLUSTERED 
(
    [MoneyId] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N用户的Id ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NUserId

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N存入金额 ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NMoneyCount

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N存入时间 ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NMoneyData

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N存钱的类型,0表示自己存钱;1表示自己取钱;2表示会员返利 ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NTypeId

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N存钱开始时间 ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NStartDate

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N存钱的结束时间 ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NEndDate

GO
EXEC sys.sp_addextendedproperty @name=NMS_Description, @value=N存钱的天数 ,@level0type=NSCHEMA, @level0name=Ndbo, @level1type=NTABLE, @level1name=NMoneyBook, @level2type=NCOLUMN, @level2name=NSaveDays

我的表中是有数据的哈

技术分享

表test

CREATE TABLE [dbo].[test](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [t_money] [float] NULL,
    [t_userid] [int] NULL,
    [t_date] [datetime] NULL,
 CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

这是执行了作业后的效果图哈

技术分享

若有没有描述清楚的地方,或者有误的地方请指点出来,大家互相学习学习。技术重在交流

dbo.MoneyBook

如何让数据库在每天的某一个时刻自动执行某一个存储过程或者某一个sql语句

原文:http://www.cnblogs.com/LoveQin/p/4979334.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!