執行sql語句給外部變數賦值

kevin_god發表於2009-08-12

declare @siteArray nvarchar(max) ---儲存使用者的所有站點
declare @guid nvarchar(max)         ---儲存站點的所有產品
set  @siteArray=''

--設定使用者的所有站點
select
    @siteArray=@siteArray+''''+convert(nvarchar(500),Site.ID)+''','
from SiteUser
    left join Site on Site.ID=SiteUser.SiteID
     where SiteUser.UserID=570
    and SiteID IN (select ID from Site where State<>0)
    set @siteArray=substring(@siteArray,1,len(@siteArray)-1)
select @siteArray

declare @str nvarchar(max)
set @guid=''

set @str ='select
    @temp=@temp + convert(nvarchar(500),Products.guid)
from Products
    where siteID in ('+@siteArray+')'

exec sp_executesql @str,N'@temp nvarchar(max) output',@guid output

select @guid


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17140602/viewspace-612007/,如需轉載,請註明出處,否則將追究法律責任。

相關文章