用动态SQL喽
declare @strsql varchar(2000)
select @strsql=''
select @strsql='select '+forder_no+',workspace from '  
+' a..master where id='+id 
from forder where owner=@input_ownerexec (@strsql)

解决方案 »

  1.   

    create proc test111
    @owner int
    asdeclare @str varchar(100)
    set @str=''
    select @str=@str +' select '''+workspace+''' as workspace,forder_no from '+workspace+' ..forder where owner='+cast(@owner as varchar(20))+' union all'
    from a..master
    set @str=left(@str,len(@str)-9)exec(@str)go
      

  2.   

    create proc a..test111
    @owner int
    asdeclare @str varchar(1000)
    set @str=''
    select @str=@str +' select '''+workspace+''' as workspace,forder_no from '+workspace+' ..forder where owner='+cast(@owner as varchar(20))+' union all'
    from a..master
    set @str=left(@str,len(@str)-9)exec(@str)go
    调用:
    exec a..test111 187