讓你的應用程式不再對的改動「感冒」 二

2021-06-16 01:05:18 字數 1658 閱讀 2939

使用聯接檢視實現複雜的需求

使用乙個聯接的檢視把前面的例子帶到更高的層次:允許我們的應用訪問多個表的資訊。擴充套件前面的例子:

dropviewhr.bv_employees;

createorreplaceviewhr.bv_employees(

empid,

fname,

lname,

email,

hire_date,

job_id,

jobtitle,

deptname)

asselect

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.employeese,

hr.jobsj,

hr.departmentsd

wheree.job_id=j.job_id

ande.department_id=d.department_id

/droppublicsynonymemployees;

createpublicsynonymemployeesforbv_employees;

grantselect,insert,update,deleteonhr.bv_employeestooltprole;

記住,當你建立了乙個複雜的檢視後,oracle禁止發出的每句sql語句中針對基本表的dml操作,哪怕僅針對乙個。另外,insert語句可以應用在檢視中的主鍵保持表(keypreservedtable)。主鍵保持表就是它的主鍵或唯一健在檢視返回的結果集中也是唯一的。在本例中,就是employees表。all_updatable_columns資料字典顯示了哪些是可以被更新的。

sql>select

2    column_name,

3    updatable,

4    insertable,

5    deletable

6   fromall_updatable_columns

7  whereowner='hr'andtable_name='bv_employees';

column_name                   updinsdel

---------------------------------------

empid                         yesyesyes

fname                         yesyesyes

lname                         yesyesyes

email                         yesyesyes

hire_date                     yesyesyes

job_id                        yesyesyes

jobtitle                      no no no

deptname                      no no no

使用程式包實現功能的包裝化和資料訪問的標準化1

讓你的應用程式不再對資料庫的改動「感冒」 二

使用聯接檢視實現複雜的需求 使用乙個聯接的檢視把前面的例子帶到更高的層次 允許我們的應用訪問多個表的資訊。擴充套件前面的例子 drop view hr.bv employees create or replace view hr.bv employees empid,fname,lname,emai...

對你的的應用程式進行Debug

在visual studio中建立乙個新的silverlight project,並命名為 slclock.檢視 怎麼來建立乙個silverlight project 注意 將project 命名為 slclock 是很重要的,因為它必須與 中的命名符合,這樣才能正確的編譯.在visual stud...

10大Ubuntu應用程式讓你的電腦起飛

轉貼於 http www.linuxer.cn bbs viewthread.php?tid 3095 彷彿是在一夜之間,ubuntu7.04 系統就成為了全球數以百萬計的電腦使用者的作業系統之選 無論他們是 linux系統的新使用者,是 windows系統和蘋果mac 電腦的叛逆者,還是那些帶著厚...