经典难题:如何编辑外键? |
缺席
|
e271828
一般會員 發表:9 回覆:8 積分:3 註冊:2007-06-05 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.資料庫講究的是正規化,正規化後才會有所謂的關連性資料庫,我不知道你為何要在一個DATABASE裡面放兩個一樣的TABLE,且彼此之間是一對一,又沒有主從關係,那不是多餘了嗎?
2.比較兩個表的差異,請使用LEFT OUTER JOIN. ===================引 用 e271828 文 章=================== 经典难题:如何编辑外键? 设有A,B两表,B中有AID字段与A表的ID关联,但AB不是主从表,是一对一的关系。 如果仅为浏览,可以用INNER JOIN来关联,但是要增删改B表时,要看下A表中其它字段时有什么方法? 方法一是用LOOKUP字段,但这样要下载整个A表下来再查,可能太慢,有无好的方法?而且LOOKUP字段似乎不常用似的。 |
e271828
一般會員 發表:9 回覆:8 積分:3 註冊:2007-06-05 發送簡訊給我 |
对于SQLSERVER2000,用触发器确实搞踮了!!!
但是对于ACCESS2000,还未有!!! CREATE TRIGGER [asas] ON [dbo].[bbb] INSTEAD OF INSERT AS select * ,0 as ifs into #www from inserted update #www set #www.ifs=1 where #www.id in (select id from bbb) if exists(select * from #www where #www.ifs=0) insert into bbb select * from inserted where inserted.id in (select id from #www where #www.ifs=0) drop table #www |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
e271828您好:
您的問題~既然不能下TIGGER 那就在程式裡面,再加一段EVENT在觸發B表異動的時候,一並異動A表~ 因為沒有DELPHI提供的元件,可以直接異動二個表!! ===================引 用 e271828 文 章=================== 对于SQLSERVER2000,用触发器确实搞踮了!!! 但是对于ACCESS2000,还未有!!! CREATE?TRIGGER?[asas]?ON?[dbo].[bbb]? INSTEAD?OF??INSERT AS select?*?,0?as?ifs??into?#www?from?inserted update?#www?set?#www.ifs=1?where?#www.id?in?(select?id?from?bbb) if?exists(select?*?from?#www??where?#www.ifs=0) insert?into??bbb??select?*?from?inserted??where?inserted.id?in?(select?id?from?#www??where?#www.ifs=0) drop?table?#www
------
====================== 昏睡~ 不昏睡~ 不由昏睡~
編輯記錄
ko 重新編輯於 2007-06-13 17:52:06, 註解 無‧
|
e271828
一般會員 發表:9 回覆:8 積分:3 註冊:2007-06-05 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
BDE Base 之 TQuery 有 TUpdateSQL 可寫 Insert, Update, Delete 之 SQL 指令, 若只想更新一個 Table, 應符合您的需要.
但 TADOQuery 便沒辦法. 若要同時更新兩個 Table, 則須用 Trigger 或 StoredProcedure 才可能辦到. ===================引 用 e271828 文 章=================== 老兄还未明我的意思,我是想用JOIN联合两表查询时,但只想更新一个表,不是想更新两个表,越讲越离谱了
編輯記錄
herbert2 重新編輯於 2007-06-13 19:53:14, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |