Exec('Select '+@column1+','+@column2+','+@column3+' from '+ @tableName)
http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
[交流]动态SQL语句

解决方案 »

  1.   

    create procedure getdata@tablename  VARCHAR(32)='mytable',
    @column1   VARCHAR(32)='oilfield',
    @column2   VARCHAR(32)='wellid',
    @column3   VARCHAR(32)='stknum'asexec('select '+@column1+','+@column2+','+@column3+' from '@tablename)GO
      

  2.   

    --要用exec.
    create procedure getdata
    @tablename  VARCHAR(32)='mytable',
    @column1   VARCHAR(32)='oilfield',
    @column2   VARCHAR(32)='wellid',
    @column3   VARCHAR(32)='stknum'
    asexec('select '+@column1+','+@column2+','+@column3+' from '+@tablename)
    goGO
      

  3.   

    那么这样不就是和在ADO里面直接写出sql语句一样了吗?能不能达到使用存储过程的减少网络流量的目的?
      

  4.   

    如果只是这么简单的处理.
    那和在ADO里直接写差不多.如果处理更复杂的过程,用存储过程就会快一些,因为它会预先编译.