declare @start nvarchar(20)
declare @end nvarchar(20)
declare @tempno nvarchar(20)
declare @strSql nvarchar(4000)
--declare @strSql varchar(8000)
declare @prdtid nvarchar(20)

set @start='2011-10-20'
set @end='2011-10-21'
set @prdtid='0300029'

declare salenoCursor cursor for
 select refno from mf_prdtin where createdt>@start and createdt<@end order by refno desc
open salenoCursor
fetch salenoCursor into @tempno
while @@FETCH_STATUS=0
begin
 if @tempno is not null and ltrim(rtrim(@tempno))<>'' and @@FETCH_STATUS=0
 begin
  --print @tempno
  if @strSql is null
  begin
   --set @strSql=N'select * from mf_prdtpur_de where pur_id='''+ltrim(rtrim(@tempno))+''' and prdtid='''+ltrim(rtrim(@prdtid))+''''
   set @strSql=N'select * from mf_prdtpur_de where pur_id='''+ltrim(rtrim(@tempno))+''''
  end
  else
  begin
   --set @strSql=@strSql+' union '+'select * from mf_prdtpur_de where pur_id='''+ltrim(rtrim(@tempno))+''' and prdtid='''+ltrim(rtrim(@prdtid))+''''
   set @strSql=@strSql+' union '+'select * from mf_prdtpur_de where pur_id='''+ltrim(rtrim(@tempno))+''''
  end
 end
fetch next from salenoCursor into @tempno
end
close salenoCursor
deallocate salenoCursor
select @strSql

If   Object_Id( 'Tempdb.dbo.#S')   Is   Not   NULL--#Test 为临时表名
  begin
  Print 'Exists Table'
  drop table #S
  end
Else begin
  Print 'Not Exists Table'
 CREATE TABLE #S(
 [pur_id] [char](10) NOT NULL,
 [prdtid] [char](7) NOT NULL,
 [num] [decimal](18, 0) NULL,
 [price] [money] NULL,
 [status] [int] NULL,
 [ispay] [int] NULL,
 [ying_pay] [money] NULL,
 [real_pay] [money] NULL,
 [recnum] [float] NULL,
 [otype] [int] NULL,
 [ying_num] [float] NULL)
end

--exec(@strSql)
insert into #S exec(@strSql)
select * from #S where prdtid='0300029'
go

注:不能使用注释的语句原因是:varchar最大长度是8000,nvarchar最大长度是4000。一旦超出这个长度需要使用临时表来保存记录的结果,然后在临时表里面进行进一步的操作。
 

相关文章:

  • 2022-01-07
  • 2021-11-16
  • 2022-12-23
  • 2021-11-07
  • 2021-12-14
  • 2022-01-09
  • 2021-08-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-05-29
  • 2022-12-23
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
  • 2021-11-12
相关资源
相似解决方案