[MSSQL]sql 存储过程定时执行方法

-- 创建存储过程,每隔 30 秒钟运行一次。
create procedure usp_daemon
as
set nocount on
while 1=1
begin
update [user] set type=0 where data<getdate();
delete from [tab] where userid in (select userid from [user] where type=0);
waitfor delay '00:00:30'
end
go

-- 将 sql server 实例设置为“在实例启动时扫描可自动执行的存储过程”
sp_configure 'show advanced options',1
reconfigure
sp_configure 'scan for startup procs',1
reconfigure
sp_configure 'show advanced options',0
reconfigure

-- 将存储过程设置为“实例启动时自动执行”
sp_procoption 'usp_daemon','startup','true'


 

你可能感兴趣的:(sql,sql,server,user,delete,存储,delay)