另外?当execute执行后,怎么取它得出来的记录?

解决方案 »

  1.   

    declare @count integer
    declare @skid varchar(3000)
    declare @svalue integer
    declare @evalue integer
    declare @city varchar(6)
    declare @str varchar(4000)set @str ='select @count=count(si_no) from shipinfo where (year(getdate())-si_builddate between @svalue and @evalue) and si_addresscode like rtrim(@city)+''%'' and si_flag=''否'' and si_shipkind  in (@skid)'
    exec sp_executesql @str
    ,N'@count integer out
    , @skid varchar(3000)
    , @svalue integer
    , @evalue integer
    , @city varchar(6)'
    ,@count out,@skid,@svalue,@evalue,@cityselect 结果=@count
      

  2.   

    set @str ='select '+@count+'=count(si_no) from shipinfo where (year(getdate())-si_builddate between '+@svalue+' and '+@evalue+') and si_addresscode like rtrim('''+@city+'%'+''' and si_flag='否' and si_shipkind  in ('''+@skid+''')'exec(@str)
      

  3.   

    to : zjcxc(邹建) 
    我把你的复制了下。。declare @skid varchar(5000)
    declare @count integer
    declare @city varchar(6)
    declare @svalue integer
    declare @evalue integer
    declare @str varchar(6000)set @city ='2805'
    set @skid = ' ''01'',''0101'',''010307'''
    set @svalue =1111111
    set @evalue =9999999
    set @str ='select @count=count(si_no) from shipinfo where (year(getdate())-si_builddate between @svalue and @evalue) and si_addresscode like rtrim(@city)+''%'' and si_flag=''否'' and si_shipkind  in (@skid)'
    exec sp_executesql @str
    ,N'@count integer out
    , @skid varchar(3000)
    , @svalue integer
    , @evalue integer
    , @city varchar(6)'
    ,@count out,@skid,@svalue,@evalue,@city print @count错误如下:服务器: 消息 214,级别 16,状态 2,过程 sp_executesql,行 15
    过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。
    怎么处理?to:: hdhai9451(※★開拓者...前進☆※) 语句有问题了。
      

  4.   

    declare @str varchar(6000) -=->改为
    declare @str nvarchar(4000)