sql1运行到这里监视的字符串就消失
sql一运行到这里监视的字符串就消失
一运行就16行,监视的变量@sqlstr 就变成空了!也就是说15行的代码没有写进@sqlstr里边!
试过把varchar都改成nvarchar也不见效。
【温馨提示:如果要测试,请建立数据库:wangning868hexun和表:和讯博客3 字段:时间、内容即可测试。】
------解决思路----------------------
变量@sqlstr 就变成空了
可能 组成它的某个字符串是null
------解决思路----------------------
对!
use wangning868hexun
declare @num int
declare @sqlstr nvarchar(3000)
declare @时间 datetime
declare @timestr nvarchar(1000)
set @num =0
WHILE @num <=30
begin
set @sqlstr = 'SELECT *,ROW_NUMBER() OVER(ORDER BY [时间]) AS RowIndex into #TableIndex FROM wangning868hexun.dbo.和讯博客3'
exec (@sqlstr)
set @timestr = 'select @p1=时间 from #TableIndex WHERE #TableIndex. RowIndex='+cast(@num as varchar(3))
exec sp_executesql @timestr, N'@p1 varchar(30) output',@时间 output
select @时间
set @sqlstr = 'bcp "''' + @sqlstr +' WHERE #TableIndex.RowIndex BETWEEN ''+cast(@num +1 as varchar(10))+'' AND ''+cast(@num +2 as varchar(10)) "'
set @sqlstr = @sqlstr +' queryout d:\123\ '+convert(varchar(30),@时间,120)+'.txt -c -T'
exec master .dbo. xp_cmdshell @sqlstr
set @num =@num + 1
END
drop table ##TableIndex
一运行就16行,监视的变量@sqlstr 就变成空了!也就是说15行的代码没有写进@sqlstr里边!
试过把varchar都改成nvarchar也不见效。
【温馨提示:如果要测试,请建立数据库:wangning868hexun和表:和讯博客3 字段:时间、内容即可测试。】
------解决思路----------------------
变量@sqlstr 就变成空了
可能 组成它的某个字符串是null
------解决思路----------------------
对!