日期:2014-05-18  浏览次数:20425 次

求一个存储过程,难办?
id int
fieldname varchar(20)
sql varchar(4000)
kind varchar(20)

这是一个表的字段,
其中sql里面保存的是sql句子
我现在想查找到符合条件的sql句子,(比如kind=5)
然后再执行每一个这个sql句子
要求写成存储过程

------解决方案--------------------
游标?
------解决方案--------------------
try
SQL code
create proc sp_test @kind varchar(20)
as
begin
  declare @sql varchar(8000)
  select @sql=isnull(@sql,'')+[sql] from tb
  exec (@sql)
end

------解决方案--------------------
SQL code

create proc wming
as
begin
 declare @sql varchar(4000),@i int,@j int
 
 select identity(int,1,1) rn, [sql]
 into #t 
 from tab 
 where [sql] like '%kind=5%'

 select @i=1,@j=@@ROWCOUNT
 while(@i<=j)
 begin
   select @sql=[sql] from #t where rn=@i
   exec(@sql)
   select @i=@i+1
 end
 
end