DECLARE myCursor CURSOR FOR 后不能带动态SQL

解决方案 »

  1.   

    '涉及到表变量时必须用动态exec语句来执行
            '如:
    declare @sql varchar(8000) 
    select @sql='select * from '+@tablename
    exec(@sql)
      

  2.   

    DECLARE myCursor CURSOR FOR @strsql-->@ss='DECLARE myCursor CURSOR FOR  '+ @strsql
    exec(@ss)
      

  3.   

    小马哥:
    提示在function里不能用execInvalid use of 'EXECUTE' within a function
      

  4.   

    函数内不能用EXEC 只能执行扩展存储过程。
    如果一定要动态SQL语句,你最好把函数改成存储过程。