Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          關于Break On [SQLPlus]
          ?
          ??? 今天繼續來學習一下SQLPLUS中的Report函數。這個在工作中使用到的機會不多,但是做好之后把結果打印出來看著會很爽。
          ??? 參考文檔:《SQL*Plus User's Guide and Reference Release 10.2 B14357-01》
          ?
          ?
          Break ON
          ?
          ??? ?The BREAK command suppresses duplicate values by default in the column or expression you name. Thus, to suppress the duplicate values in a column specified in an ORDER BY clause, use the BREAK command in its simplest form:
          ?
          ??? BREAK ON break_column
          ?
          ??? Note: Whenever you specify a column or expression in a BREAK command, use an ORDER BY clause specifying the same column or
          expression. If you do not do this, breaks occur every time the column value changes.

          SQL> break on deptno
          SQL> select deptno,empno,sal from emp
          ? 2? where sal>1500
          ? 3? order by deptno;
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7782?????? 2450
          ???????????????? 7839?????? 5000
          ??????? 20?????? 7566?????? 2975
          ???????????????? 7788?????? 3000
          ???????????????? 7902?????? 3000
          ??????? 30?????? 7499?????? 1600
          ???????????????? 7698?????? 2850
          ?
          7 rows selected.
          ?
          ?
          Break ON ... Skip
          ?
          ??? You can insert blank lines or begin a new page each time the value changes in the break column. To insert n blank lines, use the BREAK command in the following form:
          ??? BREAK ON break_column SKIP n
          ?
          SQL> break on deptno skip 1
          SQL> /
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7782?????? 2450
          ???????????????? 7839?????? 5000
          ?
          ??????? 20?????? 7566?????? 2975
          ???????????????? 7788?????? 3000
          ???????????????? 7902?????? 3000
          ?
          ??????? 30?????? 7499?????? 1600
          ???????????????? 7698?????? 2850
          ?

          7 rows selected.
          ?
          ?
          Skip Every Row
          ?
          ??? You may wish to insert blank lines or a blank page after every row. To skip n lines after every row, use BREAK in the following form:
          ??? BREAK ON ROW SKIP n
          ??? To skip a page after every row, use
          ??? BREAK ON ROW SKIP PAGE
          ?
          SQL> break on row skip 1
          SQL> /
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7782?????? 2450
          ?
          ??????? 10?????? 7839?????? 5000
          ?
          ??????? 20?????? 7566?????? 2975
          ?
          ??????? 20?????? 7788?????? 3000
          ?
          ??????? 20?????? 7902?????? 3000
          ?
          ??????? 30?????? 7499?????? 1600
          ?
          ??????? 30?????? 7698?????? 2850
          ?

          7 rows selected.
          ?
          SQL> break on row skip page
          SQL> /
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7782?????? 2450
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7839?????? 5000
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 20?????? 7566?????? 2975
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 20?????? 7788?????? 3000
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 20?????? 7902?????? 3000
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 30?????? 7499?????? 1600
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 30?????? 7698?????? 2850
          ?
          7 rows selected.
          ?
          ?
          Other?Example
          ?
          ??? To show that SKIP PAGE has taken effect, create a TTITLE with a page number:
          ?
          SQL> ttitle col 35 format 9 'Page:' SQL.PNO
          SQL> /
          ?
          ????????????????????????????????? Page: 1
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7782?????? 2450
          ?
          ???????????????? 7839?????? 5000
          ?

          ????????????????????????????????? Page: 2
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 20?????? 7566?????? 2975
          ?
          ???????????????? 7788?????? 3000
          ?
          ???????????????? 7902?????? 3000
          ?

          ????????????????????????????????? Page: 3
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 30?????? 7499?????? 1600
          ?
          ???????????????? 7698?????? 2850
          ?

          7 rows selected.
          ?
          ?
          Listing and Removing Break

          ??? You can list your current break definition by entering the BREAK command with no clauses:
          ???
          BREAK
          ??? You can remove the current break definition by entering the CLEAR command withthe BREAKS clause:
          ??? CLEAR BREAKS
          ??? You may wish to place the command CLEAR BREAKS at the beginning of every scriptto ensure that previously entered BREAK commands will not affect queries you run ina given file.
          ?
          ?
          Break and Compute
          ?
          ??? If you organize the rows of a report into subsets with the BREAK command, you can perform various computations on the rows in each subset. You do this with the functions of the SQL*Plus COMPUTE command. Use the BREAK and COMPUTE commands together in the following forms:
          ??? BREAK ON break_column
          ??? COMPUTE function LABEL label_name OF column column column
          ??? ... ON break_column
          ?
          SQL> compute sum of sal on deptno
          SQL> /
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 10?????? 7782?????? 2450
          ???????????????? 7839?????? 5000
          ********** ********** ----------
          sum???????????????????????? 7450
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 20?????? 7566?????? 2975
          ???????????????? 7788?????? 3000
          ???????????????? 7902?????? 3000
          ********** ********** ----------
          sum???????????????????????? 8975
          ?
          ??? DEPTNO????? EMPNO??????? SAL
          ---------- ---------- ----------
          ??????? 30?????? 7499?????? 1600
          ???????????????? 7698?????? 2850
          ********** ********** ----------
          sum???????????????????????? 4450
          ?
          7 rows selected.
          ?
          ?
          Over.
          ?
          ?
          posted on 2009-04-03 23:05 decode360 閱讀(583) 評論(0)  編輯  收藏 所屬分類: 05.SQL
          主站蜘蛛池模板: 福清市| 南皮县| 凤阳县| 夏津县| 乌拉特中旗| 宁夏| 辽宁省| 鄂托克前旗| 资兴市| 鄂伦春自治旗| 霍邱县| 芜湖市| 尼玛县| 庆城县| 全椒县| 内江市| 环江| 吉木乃县| 铅山县| 安阳市| 钦州市| 三亚市| 北碚区| 湄潭县| 新建县| 綦江县| 邵武市| 博罗县| 灵川县| 长葛市| 尼勒克县| 张家界市| 乐安县| 吐鲁番市| 赤水市| 泽州县| 南昌县| 新野县| 贵阳市| 浪卡子县| 方山县|