oracle如何建立關聯不重複的表?

2024-12-23 09:40:21 字數 3904 閱讀 1497

1樓:網友

a表中的lbbh是否為主鍵,如果這個是主鍵那麼在b表的lbbh欄位建立乙個關於a表的lbbh欄位的外來鍵就可以了(別忘了級聯)。

如果a表的lbbh欄位有重複(也就是不是主鍵),那就最好的辦法就是再建立一張表,將a表的lbbh去重後的資料灌入這張表(我們假定為c表,c表只有lbbh乙個欄位),然後建乙個觸發器,當a表更新的時候,在c表查重,如果重複則不更新,如果不重複則insert。然後定義這個c表的lbbh欄位為主鍵,然後定義b表的lbbh欄位為c表的lbbh欄位的外來鍵。當然a表刪除資料的時候,也要找到刪除資料項的lbbh欄位,看看其他欄位時候還有,如果還有則c表不用動,如果沒有那麼c表也要刪除的。

然後b表也就能級聯刪除了。(當然這一段都是建立在a表的lbbh存在重複的前提下的。)

至於右面那個b表中的mxbh不能重複,只要在該欄位建個唯一約束就可以了。

2樓:程式猿集錦

lbbh是a的主鍵,那麼b也是通過lbbh和a表關聯的。

你再入庫的時候,應該是先入庫a,然後再入庫b吧?你入庫a後,就可以返回a的主鍵,此時獲取a的主鍵的值,也就是lbbh的值,然後再去插入到b中。這時,你b中的lbbh肯定是來自於a。

第二個需求:同乙個lbbh下面,mxbh不能重複。那你在b表上建立乙個聯合主鍵不就可以了?表b的主鍵欄位是:mxbh+mxbh,這兩個值才可以定位唯一的一行資料。

請問oracle資料庫中兩張表分別在兩個資料庫中怎麼能建關聯

3樓:網友

無法進行關聯,oracle不能跨資料庫操作,只可以跨使用者操作。

sql:select , from a, b where =;

解釋:當前登入的使用者必須有訪問user1表table1許可權和user2使用者的table2表許可權,之後就可以當做是「乙個使用者」下的表完成跨使用者查詢。

4樓:網友

建立database link

通過觸發器,或者儲存過程,保證2個表的資料的關聯。

5樓:網友

兩個不同的例項 如果要關聯的話。。。一般採用dblink來做。

oracle怎樣建立關係表與其他的乙個表關聯?

6樓:網友

例如下面這兩個表中分別存的時員工的基本資訊和公司的部門資訊。我們為。

create table dept

deptno number(10) not null,deptname varchar2(30) not null,constraint pk_dept primary key(deptno));

和create table emp

empno number(10) not null,fname varchar2(20) ,lname varchar2(20) ,dept number(10) ,constraint pk_emp primary key(empno));

然後我們現在增加外來鍵試一下on delete cascade

alter table emp

add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete cascade;

先增加外來鍵。然後插入資料。

insert into dept values(1,』銷售部』);

insert into dept values(2,』財務部』);

insert into emp values (2,』mary』,'song』,1);

insert into emp values (3,』linda』,'liu』,2);

insert into emp values (4,』linlin』,'zhang』,1);

然後現在我要刪除銷售部,會有什麼後果呢?

delete from dept where deptno = 1;

我們發現除了dept中的一條資料被刪除了,emp中兩條資料也被刪除了,其中emp中的兩條資料是參照了銷售部的這條資料的,這就很容易理解on delete cascade了。

oracle怎麼設定兩張表相關聯

7樓:小溼底

外來鍵的意思是a表把b表的主鍵用來當外來鍵。這就關聯上了。

8樓:網友

一般兩種思路:

1、在a表中儲存b表中的欄位;

2、建立一張表c,專門儲存a、b的關係;

oracle在建立表的時候,我會用到兩個表之間的關聯,需要建立外來鍵嗎?

9樓:網友

外來鍵就是這個作用,保證資料的一致性。

10樓:網友

當然可以了,這就是傳說中的主外來鍵關係。乙個表的欄位引用另乙個表的主鍵。

oracle資料庫怎麼關聯plsql使用者建立表

11樓:抗倭捷報頻傳

1、開啟plsql,填寫使用者名稱和密碼(初始有兩個使用者sys和system,密碼是自己安裝oracle資料庫時定的),database選擇orcl(預設資料庫,oracle中建立的使用者就像是mysql中建的資料庫,兩者有異曲同工之妙)

2、登陸成功後在介面的頭部可以看到一下資訊,最上面的system@orcl就表示是使用者system在登入狀態,其中選單欄的session可以登入、退出。

3、然後在下面的列表中找到user,然後右鍵——》new,建立新的使用者,如下兩張圖中的內容都要設定,然後點選apply就可以了。(注:第二章圖中的三個許可權必須設定,否則會出現不能登入或者不能操作表的錯誤) !

oracle 建檢視關聯其它資料庫表怎麼寫檢視語句

12樓:網友

1、通過2pc的方式,可能導致許多不確定的問題如網路問題、排程器問題等,分散式事務處理如果出現問題,會導致模組掛死的問題。

2、通過2pc去建立檢視,查詢優化器無法發揮其效率,乙個查詢中如果帶有分散式事務處理,查詢優化器預設將首先處理遠端站點的資料,如果遠端站點是個大集合,就等著hang住吧。除非你能確定哪個站點處理的集合一直都是小集合。

我在生產系統上還沒有見過誰敢寫乙個帶dblink的檢視,通常處理都是通過介面先獲取資料再去處理。

13樓:雲湖醉客

通過db link 連線你要的庫,就可以用裡面的表了,不過用的時候要跟上資料庫名的資訊,可以再建立同義詞,這樣就和訪問你自己的資料庫是一模一樣的了,希望你能實現。

14樓:網友

其他資料庫的話,可以建立乙個db link。然後在本地建立乙個同義詞。其他的就像在本地建立檢視一樣了。

powerdesigner 建立表關係圖,資料庫為oracle,怎麼為設定主鍵預設值為sys_guid()?

15樓:司馬刀劍

oracle 資料庫設定自增主鍵與mssql不同,它需要建立序列,通過序列與指定表的主鍵關聯,在新增時,作為乙個變數值進行處理。網上搜一下oracle建立序列。

在oracle資料庫中建立乙個表,用兩個鍵做聯合主鍵,sql語句該怎麼寫?

16樓:網友

create table 表名(

a ..b...constraint 約束名 primary key(a,b));如果是已建完表則 去新增 alter table table_name add constraint 約束名 primary key(a,b);

17樓:網友

在定義表的時候,欄位只定義好資料型別和長度就行,在最後加上約束就行了,類似:constraint pk_1 primary key(*,

Oracle下如何用sql建立遊標

是這樣的。declare cursor students cur 宣告遊標 isselect name,dob from students where specialty v specialty begin 其他 end for 迴圈遊標 1 定義遊標 2 定義遊標變數 3 使用for迴圈來使用這個...

急急急 統計學,如何判斷重複抽樣和不重複抽樣?一般情況下,如

重複抽樣就是每抽一次樣後放回,再抽樣,這就是重複抽樣,不重複抽樣就是不放回。不說的話,預設是重複抽樣。統計學中,怎樣區分是重複抽樣還是不重複抽樣?重複抽樣就相當於是有放回的,比如說你從一百人中抽出一個人看其成績,然後你又把那個人的資料放回,再抽,再記錄,這就是重複抽樣.不重複抽樣,正好相反.兩者的計...

Excel中如何篩選出不重複的項

excel怎麼快速篩選不重複資料?excel如何快速篩選不重複資料?你另一表的任何一列的第一行輸入 if countif sheet1 a a,sheet1 a1 2,sheet1 a1,並向下填充.暈,不用這麼麻煩!選單 資料 篩選 高階篩選 選擇 將篩選結果複製到其他位置 下面勾選 篩選不重複的...