今天看了一段oracle代码不太理解这里面表示的意思,希望各位大虾帮忙看看
col ename format a15
col job format a15
select lpad(' ',3*(level-1))|| ename ename,lpad(' ',3*(level-1)) || job job from emp where job<>'CLERK' start with mgr is null connect by mgr=PRIOR empno;
这里面的第一句和第二句看不懂是什么意思

解决方案 »

  1.   

    col ename format a15
    col job format a15
    这两句是设置ename 和job 字段的可显示长度的,比如:如果你后面查询结果中有ename长度大于15个字符的话,就有可能显示不完全。你可以设置小点 自己测试下。
      

  2.   


    --给个实例解释要容易点:
    --1、不加前面两句:SQL*Plus: Release 8.0.6.0.0 - Production on 星期三 11月 3 16:44:08 2010(c) Copyright 1999 Oracle Corporation.  All rights reserved.
    Connected to:
    Oracle Database 10g Release 10.1.0.2.0 - ProductionSQL> select lpad(' ',3*(level-1))|| ename ename,lpad(' ',3*(level-1)) || job job 
      2  from emp where job<>'CLERK' start with mgr is null connect by mgr=PRIOR empno;ENAME
    --------------------------------------------------------------------------------
    JOB
    --------------------------------------------------------------------------------
    KING
    PRESIDENT   JONES
       MANAGER      SCOTT
          ANALYST
    ENAME
    --------------------------------------------------------------------------------
    JOB
    --------------------------------------------------------------------------------
          FORD
          ANALYST   BLAKE
       MANAGER      ALLEN
          SALESMAN
    ENAME
    --------------------------------------------------------------------------------
    JOB
    --------------------------------------------------------------------------------
          WARD
          SALESMAN      MARTIN
          SALESMAN      TURNER
          SALESMAN
    ENAME
    --------------------------------------------------------------------------------
    JOB
    --------------------------------------------------------------------------------
          BLACK
          SALESMAN      MAXTON
          MANAGER   CLARK
       MANAGER
    12 rows selected.--2、加上前面两句
    SQL> col ename format a15
    SQL> col job format a15
    SQL> select lpad(' ',3*(level-1))|| ename ename,lpad(' ',3*(level-1)) || job job 
      2  from emp where job<>'CLERK' start with mgr is null connect by mgr=PRIOR empno;ENAME           JOB
    --------------- ---------------
    KING            PRESIDENT
       JONES           MANAGER
          SCOTT           ANALYST
          FORD            ANALYST
       BLAKE           MANAGER
          ALLEN           SALESMAN
          WARD            SALESMAN
          MARTIN          SALESMAN
          TURNER          SALESMAN
          BLACK           SALESMAN
          MAXTON          MANAGERENAME           JOB
    --------------- ---------------
       CLARK           MANAGER12 rows selected.SQL> 
      

  3.   

    那两个是设置列的显示格式 是sqlplus命令 
    col ename format a15 --用15位的字符显示ename
    col job format a15