在存储过程中创建触发器

VAFLS_Scott 2005-02-24 12:52:02
table1和table2是两个结构相同的表。
我想在一个存储过程中用sql语句创建一个触发器,让它每5分钟运行一次,将table1中的数据复制到table2中,我这个存储过程该怎么写?
请大家帮帮忙,急啊,我不用sql server很久了,手头也没有相关的文档,连msdn都没有,帮帮忙啊!谢谢!!!!
...全文
119 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
NinGoo 2005-02-24
  • 打赏
  • 举报
回复
设置一个job,5分钟运行一次,每次将table1中的数据复制到table2中。
NinGoo 2005-02-24
  • 打赏
  • 举报
回复
用sql语句创建一个触发器,让它每5分钟运行一次?

理解错误,触发器是不能定时运行的。如果要定时运行,使用job
VAFLS_Scott 2005-02-24
  • 打赏
  • 举报
回复
真主……
那怎么在存储过程中创建外部任务呢……
july 2005-02-24
  • 打赏
  • 举报
回复
上帝,你的要求不能用trigger执行,同时procedure中不能创建trigger,采用外部任务把
VAFLS_Scott 2005-02-24
  • 打赏
  • 举报
回复
sorry,我以为触发器是可以用时间来触发的……
那怎么创建这个job呢?是要用sql语句在存储过程中创建
didoleo 2005-02-24
  • 打赏
  • 举报
回复
--一些基本语法,详细的请参考联机帮助

--创建作业

declare @dbname sysname,@jobname sysname,@date int,@time int


exec msdb..sp_add_job @job_name=@jobname,@delete_level=1
--创建作业步骤
declare @sql varchar(800)
select @sql='insert into .....' ,@dbname=db_name()

--创建调度
EXEC msdb..sp_add_jobschedule @job_name = @jobname,
@name = '时间安排',
@enabled = 1,
@freq_type = 1,
@active_start_date = @date,
@active_start_time = @time
-- 添加目标服务器
EXEC msdb.dbo.sp_add_jobserver
@job_name = @jobname ,
@server_name = N'(local)'
go

exec msdb..sp_add_jobstep @job_name=@jobname,
@step_name = '更新处理步骤',
@subsystem = 'TSQL',
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
.......

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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