歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

Oracle--養生之道



前言:


“師者,所以傳道授業解惑也 。”
首先,無論是作者的怨言還是切身感受,無論是早期的想法還是執著至今,我們今日權當技術探討,為曾經迷惑或即將迷惑的人提供參考。
我與前文作者小趙素未謀面,但為其在技術領域的專注而感動,故落筆揮墨,簡單處一帶而過。

以下題號相同,可以與上篇文章同閱,不再贅述。
1、SQLPLUS只是一個客戶端軟件,不要指望它會繼承什麼,不用說serverout、pagesize,就是修改了時間顯示格式,也不能被其他用戶繼承,這正是基於SESSION的好處啊。當然,如果你願意永久修改些什麼,可以通過修改數據字典、配置文件或注冊表完成。
2、命令行編輯功能?
ORACLE調整的是緩沖區,EDIT可以實現大部分,好的管理員仍然以.SQL的腳本為主,單獨的命令行少用為妙。雖然我對SQL PLUS的設計也沒什麼好感,但也覺得沒必要棄一豹而爭一斑。
3、SQLPLUS環境的命令行沒有歷史記錄功能?
SQLPLUS現在有兩個版本,(以WIN2K為例)我們如果用圖形界面的SQLPLUS,其實對應的是SQLPLUSW.EXE;而如用SQLPLUS.EXE,利用系統的功能,是可以實現DOSKEY功能的。
4、命名規范混亂得一踏糊塗?
user_tab_columns, user_con_constraints,user_tables, usre_cons_columns。很有規則嘛,不要帶著過去數據庫的抵觸情緒去理解ORACLE,我也是SQLSERVER、MYSQL、POSTSQL的開發者,所以我們要著重體會數據庫思想的精髓,求同存異,這才有利於自身發展,也不至於為瑣事煩惱。
5、作者已經相通了。
6、注釋格式:--, 什麼玩意呀?
我覺得你有必要與ANSI組織聯系一下,SQL92標准的衍生物,問問微軟是怎麼干的?
7、PLSQL獨樹一幟?
PL/SQL沒有號稱第N代的高級語言,第四代打住了,SQL就決定了。而ORACLE也很謙虛,PL-PROCEDURE LANGUAGE,過程性語言,沒有說編譯,沒有面向對象。至於dbms_output.put_line
  不能在FUNCTION中輸出,是誤解,過程可以CALL過程,因此過程中可以dbms_output.put_line,而函數可以RETURN,不會為開發帶來困難。
8、沒明白作者是說單引號問題還是雙引號問題,不過拿語言和ORACLE相對比是不合適的,如果你說JAVA或C方便的實現,那麼可以用SQLJ或PRO*C編寫過程。
9、這是作者對知識點的混淆,也是沒有掌握扎實PL/SQL,
var i number;
  i:=5;
  此時I是一個PLSQL變量,要輸出,只能在PLSQL中輸出,如*.put_line輸出。
  :i := 5;
  此時:i 是一SQLPLUS的外部變量,賦值和輸出,就是這種規則。
  很多時候不能想當然,如果不想走彎路,不想掘地三尺,就要踏踏實實的讀些資料。
10、我無話可說,為作者的苦心感動。
11、過程和函數的用法與PLSQL匿名塊的關系:
  過程的用法是要遵循各種數據庫的習慣的,如MSSQL。但PLSQL是ORACLE自己的語言,可以有更多的自由。規定如何用就如何用,尤其是語法,就看個人的適應性了。唯一需要理解的是包,這是ORACLE有遠見的一面,這裡可以看到面向對象的痕跡,類.方法,像吧,也為以後JAVA與PLSQL的協同工作打下了基礎。
12、細心AND熟能生巧。
13、我用PLSQL和SQLJ,對PRO*C不作評價。
14、DDL語句是SQL92標准的,ADD COLUMN,不用COLUMN是因為其他沒有什麼可以ADD,但DROP 必須加COLUMN,是因為此關鍵字還可以是CONSTRAINT,ORALCE沒有錯。
15、又回到命名的問題上了?
ORACLE的命名取捨原則是:常用的對象名或列名要簡單,很少使用的名稱要復雜,這是符合大多數人習慣的,尤其是ORACLE DBA,否則,一概而論反倒缺省人性化,為DBA造成沉重負擔。

後話:
  肯定的說,作者的後話才是大徹大悟,說出奮斗的感覺。每一種產品,都會有優缺點,不然怎麼會有後人的智慧?“人類在一個fortran語言大行其道的年代就已經登上了月球”,古人就知道善假於物也,我們可能不是愛因斯坦,但我們可以是牛頓,可以有眾多可以借鑒的肩膀。ORACLE博大精深,在於她的思想和數據庫的理論,不是虛張聲勢的外表。程序員不可多得,不是他學會多少語言。人是一個綜合體,要挖掘潛在的能量,就要從不同角度入手,找到最適合自己的開發方式,使之終有一番作為。選擇,並不意味著放棄原有,數據庫如此,而勤奮和智慧,你又能捨棄哪一個呢?
  


http://www.sonsun.net 站長 范生([email protected])


Copyright © Linux教程網 All Rights Reserved