Relational Database 問題 |
尚未結案
|
chubby
一般會員 發表:43 回覆:65 積分:21 註冊:2003-05-13 發送簡訊給我 |
對Relational Database 有一點不解之處,煩請各位指導
例:有一 書籍DataBase Field(書NO,書NAME,價格,出版社)
另一 訂單DataBase Field(訂單No,下單date,書No) -> 書籍DataBase(書NO) 與 訂單DataBase (書No) 關聯性 當user modify 書籍DataBase(書NO)時,原存在 訂單DataBase ->書No
是否有辦法透過關聯性功能,直接update 全部 訂單DataBase -> 書No
(含歷史data)? 還是要另外寫一支程式,分別去udate 書籍DataBase(單一書NO) 與
全部 訂單DataBase(書NO) 與原 書籍DataBase (書No)同ㄋ
例:書號 訂單
101 92051301 92/05/13 101
.....................101
91011405 91/01/14 101
當Modify 書號 101時
關聯性資料庫可否有此功能? 直接更改訂單所有 101 ? 發表人 - chubby 於 2003/05/14 01:42:57
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
1. 可以在DBServer上處理: 一般DataBase Sever(如Oracle, Sybase等)均有Store Procedure, Trigger等機制, 可寫一些Trigger
例: 在Parent被update時主動update child
parent delete時若child有資料可決定同時刪除(Delete cascase)或限制刪除(Delete Restrict) 這些Trigger必須以各DBServer不同之語法寫在DB Server內 2. 當然同樣動作也可寫在Client之AP中 3. 若是3 Tier, 也可寫在mid Tier之 ap server中
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
欲達到 Parent Update Cascade Child 關聯, 如果你是用 MSSQL 2000,
可多一種方法 :
CREATE TABLE Books ( BookNo char(18) NOT NULL, PRIMARY KEY (BookNo) ) go CREATE TABLE Orders ( OrderNO char(18) NOT NULL, BookNo char(18) NULL, PRIMARY KEY (OrderNO), FOREIGN KEY (BookNo) REFERENCES Books ON UPDATE CASCADE ) go |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |