解决方案 »

  1.   

    这是用sqlplus编辑吗?
    利用set linesize=xxx 加大每行显示宽度
      

  2.   

    这个能通过oracle的设置来输出直接能执行的sql语句吗?
    如果不能,那么用什么命令能优化输出的sql语句,确保能执行呢? 
      

  3.   

    是用sqlplus调用执行的,脚本里已经写了set linesize 180,但是好像不管用,改成1000还是一样的,我怀疑是不是dbms_metadata.get_granted_ddl和dbms_metadata.get_ddl本身输出做了限制了,到固定字节就自动换行了,也不管是否该换行。
      

  4.   

    我记得需要先设置pagesize,否则设置的linesize值如果超过pagesize就会不管用,你试下
      

  5.   

    你看我上面的脚本,是先设置的pagesize,后设置的linesize。
      

  6.   

    linesize 的问题,windows中命令窗口的宽度是受到限制的,设大可能没太大用处
    建议用utl_file来操作,直接写入到文件中另外,EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'PRETTY', false);
    这句将一条命令放到一行上,貌似没必要,也不太好看,可以去掉
      

  7.   

    我这个是在linux下执行的,按理说应该不存在这个问题吧。
      

  8.   

    设置显示宽度 LINESIZE