JUST DO IT ~

          我只想當個程序員

          [zt]SQL*Plus系統環境變量有哪些?如何修改?

          SQL*Plus系統環境變量有哪些?如何修改?
          軟件環境:
          1、Windows NT4.0+ORACLE 8.0.4
          2、ORACLE安裝路徑為:C:\ORANT

          實現方法:
          show和set命令是兩條用于維護SQL*Plus系統變量的命令

          SQL> show all --查看所有68個系統變量值

          SQL> show user --顯示當前連接用戶

          SQL> show error                --顯示錯誤

          SQL> set heading off --禁止輸出列標題,默認值為ON

          SQL> set feedback off --禁止顯示最后一行的計數反饋信息,默認值為"對6個或更多的記錄,回送ON"

          SQL> set timing on --默認為OFF,設置查詢耗時,可用來估計SQL語句的執行時間,測試性能

          SQL> set sqlprompt "SQL> " --設置默認提示符,默認值就是"SQL> "

          SQL> set linesize 1000 --設置屏幕顯示行寬,默認100

          SQL> set autocommit ON --設置是否自動提交,默認為OFF

          SQL> set pause on --默認為OFF,設置暫停,會使屏幕顯示停止,等待按下ENTER鍵,再顯示下一頁

          SQL> set arraysize 1 --默認為15

          SQL> set long 1000 --默認為80

          說明:
          long值默認為80,設置1000是為了顯示更多的內容,因為很多數據字典視圖中用到了long數據類型,如:

          SQL> desc user_views
          列名 可空值否 類型
          ------------------------------- -------- ----
          VIEW_NAME NOT NULL VARCHAR2(30)
          TEXT_LENGTH NUMBER
          TEXT LONG

          SQL> define a = '''20000101 12:01:01''' --定義局部變量,如果想用一個類似在各種顯示中所包括的回車那樣的常量,
          --可以用define命令來設置
          SQL> select &a from dual;
          原值 1: select &a from dual
          新值 1: select '20000101 12:01:01' from dual

          '2000010112:01:01
          -----------------
          20000101 12:01:01


          問題提出:
          1、用戶需要對數據庫用戶下的每一張表都執行一個相同的SQL操作,這時,一遍、一遍的鍵入SQL語句是很麻煩的

          實現方法:
          SQL> set heading off --禁止輸出列標題
          SQL> set feedback off --禁止顯示最后一行的計數反饋信息

          列出當前用戶下所有同義詞的定義,可用來測試同義詞的真實存在性
          select 'desc '||tname from tab where tabtype='SYNONYM';

          查詢當前用戶下所有表的記錄數
          select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';

          把所有符合條件的表的select權限授予為public
          select 'grant select on '||table_name||' to public;' from user_tables where 《條件》;

          刪除用戶下各種對象
          select 'drop '||tabtype||' '||tname from tab;

          刪除符合條件用戶
          select 'drop user '||username||' cascade;' from all_users where user_id>25;

          快速編譯所有視圖
          ----當在把數據庫倒入到新的服務器上后(數據庫重建),需要將視圖重新編譯一遍,
          ----因為該表空間視圖到其它表空間的表的連接會出現問題,可以利用PL/SQL的語言特性,快速編譯。

          SQL> SPOOL ON.SQL
          SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB;
          SQL> SPOOL OFF
          然后執行ON.SQL即可。
          SQL> @ON.SQL
          當然,授權和創建同義詞也可以快速進行,如:
          SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 用戶名;' FROM TAB;
          SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 用戶名.'||TNAME||';' FROM TAB;

          SQL*PLUS常用命令列表

          [ 天堂之水 2002年9月18日,閱讀人數36人 ]



          軟件環境:
          1、Windows 98 第二版
          2、Oracle數據庫版本為:Personal Oracle7 Release 7.3.4.0.0
          3、Oracle安裝路徑為:C:\ORAWIN95

          命令列表:
          假設當前執行命令為:select * from tab;

          (a)ppend     添加文本到緩沖區當前行尾    a order by tname 結果:select * from tab order by tname;
                                                (注:a后面跟2個空格)
          (c)hange/old/new 在當前行用新的文本替換舊的文本 c/*/tname     結果:select tname from tab;
          (c)hange/text  從當前行刪除文本        c/tab       結果:select tname from ;
          del       刪除當前行
          del n      刪除第n行
          (i)nput 文本   在當前行之后添加一行
          (l)ist      顯示緩沖區中所有行
          (l)ist n     顯示緩沖區中第 n 行
          (l)ist m n    顯示緩沖區中 m 到 n 行
          run       執行當前緩沖區的命令
          /        執行當前緩沖區的命令
          r        執行當前緩沖區的命令
          @文件名     運行調入內存的sql文件,如:

          SQL> edit s<回車>
          如果當前目錄下不存在s.sql文件,則系統自動生成s.sql文件,
          在其中輸入“select * from tab;”,存盤退出。

          SQL> @s<回車>
          系統會自動查詢當前用戶下的所有表、視圖、同義詞。

          @@文件名     在.sql文件中調用令一個.sql文件時使用

          save 文件名   將緩沖區的命令以文件方式存盤,缺省文件擴展名為.sql
          get 文件名    調入存盤的sql文件
          start 文件名   運行調入內存的sql文件

          spool 文件名   把這之后的各種操作及執行結果“假脫機”即存盤到磁盤文件上,默認文件擴展名為.lst
          spool      顯示當前的“假脫機”狀態
          spool off    停止輸出

          例:
          SQL> spool a
          SQL> spool
          正假脫機到 A.LST
          SQL> spool off
          SQL> spool
          當前無假脫機


          exit       退出SQL*PLUS
          desc 表名    顯示表的結構
          show user    顯示當前連接用戶
          show error    顯示錯誤
          show all     顯示所有68個系統變量值
          edit       打開默認編輯器,Windows系統中默認是notepad.exe,把緩沖區中最后一條SQL語句調入afiedt.buf文件中進行編輯
          edit 文件名   把當前目錄中指定的.sql文件調入編輯器進行編輯

          clear screen   清空當前屏幕顯示










          SQL> show all
          appinfo 為 OFF 并且已設置為 "SQL*Plus"
          arraysize 15
          autocommit OFF
          autoprint OFF
          autorecovery OFF
          autotrace ON EXPLAIN STATISTICS
          blockterminator "." (hex 2e)
          btitle OFF 為下一條 SELECT 語句的前幾個字符
          cmdsep OFF
          colsep " "
          compatibility version NATIVE
          concat "." (hex 2e)
          copycommit 0
          COPYTYPECHECK 為 ON
          define "&" (hex 26)
          describe DEPTH 1 LINENUM OFF INDENT ON
          echo OFF
          editfile "afiedt.buf"
          embedded OFF
          escape OFF
          用于 6 或更多行的 FEEDBACK ON
          flagger OFF
          flush ON
          heading ON
          headsep "|" (hex 7c)
          instance "local"
          linesize 80
          lno 14
          loboffset 1
          logsource ""
          long 80
          longchunksize 80
          markup HTML OFF HEAD "<style type='text/css'> body {font:10pt Arial,Helvetica,sa
          ns-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-seri
          f; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-s
          erif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0
          px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; backgroun
          d:#cccc99; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-s
          erif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; ma
          rgin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} h2 {font:bold 10pt Ar
          ial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-t
          op:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#66330
          0; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}</
          style><title>SQL*Plus Report</title>" BODY "" TABLE "border='1' width='90%' alig
          n='center' summary='Script output'" SPOOL OFF ENTMAP ON PREFORMAT OFF
          newpage 1
          null ""
          numformat ""
          numwidth 10
          pagesize 14
          PAUSE 為 OFF
          pno 0
          recsep WRAP
          recsepchar " " (hex 20)
          release 1002000100
          repfooter OFF  為 NULL
          repheader OFF  為 NULL
          serveroutput OFF
          shiftinout INVISIBLE
          showmode OFF
          spool OFF
          sqlblanklines OFF
          sqlcase MIXED
          sqlcode 0
          sqlcontinue "> "
          sqlnumber ON
          sqlpluscompatibility 10.2.0
          sqlprefix "#" (hex 23)
          sqlprompt "SQL> "
          sqlterminator ";" (hex 3b)
          suffix "sql"
          tab ON
          termout ON
          timing ON
          trimout ON
          trimspool OFF
          ttitle OFF 為下一條 SELECT 語句的前幾個字符
          underline "-" (hex 2d)
          USER 為 "ITMP"
          verify ON
          wrap : 將換至下一行
          SQL>




          posted on 2009-12-01 20:56 小高 閱讀(360) 評論(0)  編輯  收藏 所屬分類: Oracle

          導航

          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 论坛| 通化市| 信阳市| 察哈| 景泰县| 彭州市| 碌曲县| 福州市| 贵阳市| 双鸭山市| 博白县| 霍城县| 兰坪| 汉沽区| 高密市| 郑州市| 浦县| 射洪县| 孝义市| 改则县| 荔浦县| 乳山市| 郎溪县| 微博| 阳朔县| 朝阳区| 理塘县| 张家港市| 大关县| 木兰县| 邵东县| 瓦房店市| 蕉岭县| 蒲城县| 常熟市| 凤凰县| 丰原市| 新乐市| 望江县| 岳阳市| 醴陵市|