如果除去 strtblsql:=strtblsql||' where (TABLE_NAME=upper('''||strdbcursor1||'''))';
这一句就正常了,真是莫名其妙

解决方案 »

  1.   

    strdbcursor1
    这个变量的值输出看看有没有问题。
      

  2.   

    执行
    select COLUMN_NAME from user_col_comments 有结果吗
      

  3.   

    以上定义我是定义在procedure 中的
              strtblsql:='select COLUMN_NAME from user_col_comments ';
    只要加了下面这句就不对了
        strtblsql:=strtblsql||' where (TABLE_NAME=upper('''||strdbcursor1.bbm||'''))';
    但是如果我把定义单独在plus中运行就没有问题,
    我想是定义在procedure中造成的问题,在其中和独立运行有什么不同要求吗?
      

  4.   

    我想是这句把数据都过滤没了
    strtblsql:=strtblsql||' where (TABLE_NAME=upper('''||strdbcursor1.bbm||'''))';
      

  5.   

    经过监控通过组合形成的strtblsql串可以运行的