这是事情。 我有一个规则表,其中包括我将运行的一些规则。 现在我需要一个程序来运行所有规则,并且我无法通过RuleId。
规则表如: RuleId RuleDescription RuleSqlQuery
所有查询都返回相同的记录(Id,Name,Others)
那么我该如何创建一个程序。
答案 0 :(得分:0)
如果您使用的是sql server,可能是这样的......
create procedure runrules
as
declare @temp table (id int identity(1,1), ruleid int)
declare @curid int
declare @maxid int
declare @tempsql nvarchar(max)
insert into @temp select ruleid from rule
select @curid = 1, @maxid = max(id) from @temp
while @curid <= @maxid
begin
select @tempsql = RuleSqlQuery
from rule R
inner join @temp T on T.ruleid = R.ruleid
where T.id = @curid
EXECUTE sp_executesql @tempsql
set @curid = @curid + 1
end