讓你的應用程式不再對資料庫的改動“感冒”(二) (轉)
原著作者:to:jczuprynski@zerodefectcomputing.com">Jim Czuprynski
使用聯接檢視實現複雜的需求:namespace prefix = o ns = "urn:schemas--com::office" />
使用一個聯接的檢視把前面的例子帶到更高的層次:允許我們的應用訪問多個表的資訊。擴充套件前面的例子:
DROP VIEW hr.bv_employees;
CREATE OR REPLACE VIEW hr.bv_employees (
empid,
fname,
lname,
,
hire_date,
job_id,
jobtitle,
deptname)
AS
e.employee_id,
e.first_name,
e.last_name,
e.email,
e.hire_date,
e.job_id,
j.job_title,
d.department_name
FROM
hr.employees e,
hr.jobs j,
hr.departments d
WHERE e.job_id = j.job_id
AND e.department_id = d.department_id
/
DROP PUBLIC SYNONYM employees;
CREATE PUBLIC SYNONYM employees FOR bv_employees;
GRANT SELECT, INSERT, UPDATE, DELETE on hr.bv_employees TO oltprole;
記住,當你建立了一個複雜的檢視後,禁止發出的每句語句中針對基本表的DML操作,哪怕僅針對一個。另外,INSERT語句可以應用在檢視中的主鍵保持表(KEY PRESERVED TABLE)。主鍵保持表就是它的主鍵或唯一健在檢視返回的結果集中也是唯一的。在本例中,就是Employees表。ALL_UPDATABLE_COLUMNS資料字典顯示了哪些是可以被的。
SQL> SELECT
2 column_name,
3 updatable,
4 insertable,
5 deletable
6 FROM all_updatable_columns
7 WHERE owner = 'HR' AND table_name = 'BV_EMPLOYEES';
COLUMN_NAME UPD INS DEL
------------------------------ --- --- ---
EMPID YES YES YES
FNAME YES YES YES
LNAME YES YES YES
EMAIL YES YES YES
HIRE_DATE YES YES YES
JOB_ID YES YES YES
JOBTITLE NO NO NO
DEPTNAME NO NO NO
使用包實現功能的包裝化和資料存取的標準化
ORACLE程式包的最非凡的功能就是它們的把對資料存取的功能包裝成一個的能力。我們現在的開發組就是使用程式包的公共屬性和方法(包括傳統的set 和get這種物件導向的方法)來描述應用程式針對基本檢視集的資料庫介面需求。
而且,既然程式包的規格定義描述了程式包體的和過程的公共介面,那麼它就有比傳統的函式和過程的好處:程式包體可以和程式包分開單獨編譯。那就意味著,除非簽名(函式和的傳入或傳出引數和返回引數)發生了變化,否則程式包規格定義是不需要重新編譯的。這可以最大限度地降低由於依賴物件而發生的重編譯。來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-981648/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 讓你的應用程式不再對資料庫的改動“感冒”(三) (轉)資料庫
- 讓你的應用程式不再對資料庫的改動“感冒”(一) (轉)資料庫
- Zendesk:你的顧客對你的調研“感冒”麼-資料資訊圖
- GodBlessYou: 讓你的應用不再崩潰Go
- 業務人員自行搭建應用,讓資料不再過時
- 給你的應用程式新增動態滑鼠 (轉)
- 轉---讓指標不再困擾你指標
- 一個功能強大的對話方塊庫—讓你的專案不再單調
- c++ 讓你的應用支援相對路徑C++
- 非Access資料庫在VB的程式設計及應用 (轉)資料庫程式設計
- 低程式碼開發平臺 讓資料應用不再複雜
- 資料庫中的XML應用例項 (轉)資料庫XML
- Oracle資料庫及應用程式最佳化(轉)Oracle資料庫
- 讓你的Mozilla支援XML資料島 (轉)XML
- VB6基本資料庫應用(二):建立資料庫資料庫
- iOS開發系列–讓你的應用“動”起來iOS
- 實用的資料庫檢查程式 (1) (轉)資料庫
- 實用的資料庫檢查程式(3) (轉)資料庫
- 3分鐘短文:Laravel Form,讓你不再寫 HTML 的好“庫”LaravelORMHTML
- 資料庫命令的應用資料庫
- Python爬蟲隨機UserAgent庫,讓你不再手動敲UA!Python爬蟲隨機
- ORACLE資料庫的啟動和關閉之二(轉)Oracle資料庫
- 資料庫即將死去 -- 轉《NoSQL的資料庫技術革命讓我們對SQL說不》資料庫SQL
- angualrJs對資料庫資料處理的增刪改查JS資料庫
- 小程式雲開發讓你不再加班
- PublishFolderCleaner 讓你的 dotnet 應用釋出資料夾更加整潔
- 如何選擇資料庫伺服器,參考這幾點讓你不再被坑資料庫伺服器
- kylix 資料庫應用簡介 (轉)資料庫
- 解讀什麼是小程式容器,讓移動應用開發不再有難題
- HarmonyOS:儲存你的應用資料
- 應用程式的資料庫從Sql Server遷移到Oracle資料庫SQLServerOracle
- Dos下的XMS完全控制類 --- 使用它,讓你的DOS程式使用XMS不再是夢想! (轉)
- 讓你詳細的瞭解資料庫防火牆的功能資料庫防火牆
- 【移動資料】imp的應用
- 【移動資料】exp的應用
- TiDB 分散式資料庫在轉轉公司的應用實踐TiDB分散式資料庫
- 使用應用程式跟蹤對效能改變進行量化分析(轉)
- 在網頁上啟動你的應用程式網頁