首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

【】怎么对返回的结果做操作

2012-03-04 
【求助】如何对返回的结果做操作?SQL codeselect*fromsysobjectswhereidin(selectidfromsyscolumnswherename

【求助】如何对返回的结果做操作?

SQL code
select   *   from   sysobjects   where   id   in   (select   id   from   syscolumns   where   name= 'approvedate') 


这样我会得到很多表名如何将这些表依次执行下面的删除操作?

SQL code
declare @k datetime declare @j datetime set @k='2009-04-20 10:10:11.000' set @j='2009-04-23 19:53:11.000'delete FROM RegisterReportWHERE approveDateBETWEEN @k AND @j;


[解决办法]
少改一个位置,a.Name=表名
SQL code
declare @k datetime declare @j datetime set @k='2009-04-20 10:10:11.000' set @j='2009-04-23 19:53:11.000'--delete FROM RegisterReport--WHERE approveDate--BETWEEN @k AND @j;--生成语句直接执行select ' delete 'a.+name+'  where  approvedate between '''+CONVERT(varchar(23),@k,120)+''' and '''+CONVERT(varchar(23),@k,120)+''' ;'from sysobjects as a,syscolumns as b where a.id=b.id and b.name='approvedate'--或用变量传参一次执行declare @s nvarchar(max)select @s=@s+' delete '+a.name+'  where  approvedate between '''+CONVERT(varchar(23),@k,120)+''' and '''+CONVERT(varchar(23),@k,120)+''' ;'from sysobjects as a,syscolumns as b where a.id=b.id and b.name='approvedate'exec(@s) 

热点排行
Bad Request.