触发器实现一字段自动加一?

cqs76 2003-11-07 09:37:51
每天更新数据库某一字段,使其自动加一。我想用触发器来实现,改用什么方

法?
...全文
280 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
happydreamer 2003-11-08
  • 打赏
  • 举报
回复
可以用job实现,每天调用一次更新字段
触发器的话如果当天没有对表的操作,不会引起触发器触发,也就无法实现你的要求
zhangdatou 2003-11-08
  • 打赏
  • 举报
回复
可以用序列呀
txlicenhe 2003-11-08
  • 打赏
  • 举报
回复

你的数据库服务器-》企业管理器-》管理-》SQL Server 代理-》作业-》新建作业,按照要求填就可以了,在“步骤”的“命令”中填写你要执行的存储过程或语句,在“调度”里面填写什么时间执行


EXEC sp_add_job @job_name = '作业名字'


EXEC sp_add_jobstep @job_name = '作业名字',
@step_name = '步骤名子',
@subsystem = 'TSQL',
@command = 'update 表 set 字段 = 字段+1',
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔

EXEC sp_add_jobschedule @job_name = '作业名字',
@name = '作业调度名字',
@freq_type = 4, -- 每天
@freq_interval = 26, --间隔
@active_start_time = 10000 --开始时间

txlicenhe 2003-11-08
  • 打赏
  • 举报
回复
用job
wzh1215 2003-11-08
  • 打赏
  • 举报
回复
对,应该用job
welyngj 2003-11-07
  • 打赏
  • 举报
回复
CREATE TABLE [hel] (
[a] [int] NULL ,
[b] [int] NULL
) ON [PRIMARY]
GO


create trigger tri_hel_upd
on hel
for update
as
begin
update hel set a=deleted.a+1 from deleted where deleted.b=hel.b and deleted.a=hel.a
end

go
insert into hel select 1,4
insert into hel select 2,6


34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧