动态SQL里面吧!你用哪个SQLDA试一下!

解决方案 »

  1.   

    是的,在动态sql里面的。请大虾们帮帮忙啊!
      

  2.   

    sqlstr:='select '||变量1||','||变量2||'from'||变量3||'where'||变量4;
    execute immediate sqlstr;ok了,几个变量和sqlstr自己先定义一下。
      

  3.   

    楼上的兄弟,谢谢你!
    你说的方法,我在proc中可以预编译通过,但是在vc中是认不出来":="和immediate的.不知道怎么处理,而且我在proc中也不懂您的这种写法,请多帮忙啊!
      

  4.   

    楼主,他们说的都没有错。
    他们不知道你编译环境是vc啊。如果是vc,就用sprintf()函数来组合sql语句。
    sprintf(sqlstr,"select %s,%s from %s where %s",变量1,变量2,变量3,变量4);
    EXEC SQL PREPARE S FROM :sqlstr;
    EXEC SQL EXECUTE S;