ALTER procedure [dbo].[p_mon_auto_job2]
@monitor_ip varchar(20),
@monitor_db varchar(20),
@dbip varchar(20),
@db_name varchar(20),
@alert_level varchar(8)
as
begin
----定义接收原先存储过程变量
declare @proc_name varchar(100)
declare @sql nvarchar(max)
/*
declare @dbname varchar(100)
declare @dbip varchar(100)
set @dbip=@@SERVERNAME
set @dbname=DB_NAME()
*/
select a.procname,a.status,a.alert_level into #T_MONITOR_TASK from [hxerp1].monitordb.dbo.T_MONITOR_TASK a
where a.alert_level=@alert_level and a.status='启用'
----定义游标,用于取procname的值
declare get_proc_name_cur cursor for select procname from #T_MONITOR_TASK a where a.alert_level=@alert_level and a.status='启用'
----打开游标
open get_proc_name_cur
----给变量赋值
fetch next from get_proc_name_cur into @proc_name
---循环取值
while @@FETCH_STATUS=0
begin
---拼接存储过程
set @sql=N'exec '+@proc_name+' '+''''+@monitor_ip+''''+','+''''+@monitor_db+''''+','+''''+@dbip+''''+','+''''+@db_name+'''' --恶心
---用于执行巡检的存储过程
exec sp_executesql @sql
---print @sql
---赋新的值给变量
fetch next from get_proc_name_cur into @proc_name
end
-----释放游标资源
deallocate get_proc_name_cur
end
@monitor_ip varchar(20),
@monitor_db varchar(20),
@dbip varchar(20),
@db_name varchar(20),
@alert_level varchar(8)
as
begin
----定义接收原先存储过程变量
declare @proc_name varchar(100)
declare @sql nvarchar(max)
/*
declare @dbname varchar(100)
declare @dbip varchar(100)
set @dbip=@@SERVERNAME
set @dbname=DB_NAME()
*/
select a.procname,a.status,a.alert_level into #T_MONITOR_TASK from [hxerp1].monitordb.dbo.T_MONITOR_TASK a
where a.alert_level=@alert_level and a.status='启用'
----定义游标,用于取procname的值
declare get_proc_name_cur cursor for select procname from #T_MONITOR_TASK a where a.alert_level=@alert_level and a.status='启用'
----打开游标
open get_proc_name_cur
----给变量赋值
fetch next from get_proc_name_cur into @proc_name
---循环取值
while @@FETCH_STATUS=0
begin
---拼接存储过程
set @sql=N'exec '+@proc_name+' '+''''+@monitor_ip+''''+','+''''+@monitor_db+''''+','+''''+@dbip+''''+','+''''+@db_name+'''' --恶心
---用于执行巡检的存储过程
exec sp_executesql @sql
---print @sql
---赋新的值给变量
fetch next from get_proc_name_cur into @proc_name
end
-----释放游标资源
deallocate get_proc_name_cur
end
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29507357/viewspace-1744219/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29507357/viewspace-1744219/