var_sql :='select  no  from zjm where no=Param1';dbms_output.put_line(var_sql );

execute IMMEDIATE var_sql ; 有啥区别???

解决方案 »

  1.   

    第一个只是打印一下这个字符串
    第二个是动态执行sql语句。
      

  2.   

    那又有个问题
        v_sql := v_sql || ') A WHERE rownum <= ' || v_endRecord || ') B WHERE r >= '
                 || v_startRecord;
        DBMS_OUTPUT.put_line(v_sql);
        OPEN v_cur FOR v_sql;
    -------------------------------------------只是部分代码这的DBMS_OUTPUT.put_line(v_sql);起啥作用???
      

  3.   

    DBMS_OUTPUT.put_line这个就是想控制台打印字符串而已
    execute immediate是执行sql
      

  4.   


    它下面要用游标查询,
    这里就是看看sql对不对。动态sql,拼出来的,想看看sql拼的对不对。
    这句
    DBMS_OUTPUT.put_line
    你把它看作java中的System.out.println()
    或c++的printf就完了。