写动态sql语句
declare  @c  char(22),@d  char(11),@s varchar(8000)
set @b='aa'
set @c='productname'
set @s= 'select   productid,productname  as'+ @d+'where   productname='+@c
exec @s

解决方案 »

  1.   

    set @s= 'select   productid,productname  as'+ @d+'where   productname='''+@c+''''
      

  2.   

    declare  @c  char(22),@d  char(11),@s varchar(1000)
    set @b='aa'
    set @c='productname'
    set @s = 'select   productid,productname  as  '+@d +' where   productname='''+@c+''''
    exec(@s)
      

  3.   

    --即然是动态的,当然得用动态语句:declare  @c  char(22),@d  char(11)
    set @b='aa'
    set @c='productname'
    exec('select   productid,productname  as  ['+@d +']
    where   productname='''+@c+'''')