1.創(chuàng)建表時:
成都創(chuàng)新互聯(lián)公司是專業(yè)的會澤網(wǎng)站建設(shè)公司,會澤接單;提供成都做網(wǎng)站、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行會澤網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
create table table_name
(
first_name varchar2(12),
second_name varchar2(10),
idcard varchar(36),
home_name varchar(66),
constraint pk_table_name primary key(first_name,second_name,idcard) -- 聯(lián)合主鍵
);
2.創(chuàng)建表之后追加聯(lián)合主鍵
alter table table_name add constraint pk_table_name primary key (first_name,second_name);
1.先建一個序列:
--?Create?sequence?
create?sequence?auto_id
minvalue?1
maxvalue?9999999999999
start?with?1
increment?by?1
cache?10;
2.創(chuàng)建觸發(fā)器:
create?or?replace?trigger?auto_col_trigger
before?insert?on?auto_tab
for?each?row
declare
v_id?number?:=?0;
begin
select?auto_id.nextval?into?v_id?from?dual;
:new.id?:=?v_id;
end;
我隨便寫的,表名和字段名改一下就行了。
alter table HR_OG_ORGPOSITION add primary key (FID) -- 這個創(chuàng)建后由系統(tǒng)自動分配主鍵名稱。
alter table HR_OG_ORGPOSITION add constraint PK_ORGPOSITION primary key (FID); --這個創(chuàng)建后使用你自己定義的名稱。
沒有什么優(yōu)劣,只是第二種 如果主鍵的名字有規(guī)律的話,可以通過主鍵名字知道是那個表的主鍵。
1.先清理現(xiàn)有的數(shù)據(jù)并規(guī)劃只能一個主鍵,或者考慮組合主鍵(即ID列與另一個關(guān)鍵列組合成主鍵)
2.通過SQL增加主鍵:alter table tabname add constraint tabname_pk primary key (id) enable validate;
組合鍵:alter table tabname add constraint tabname_pk primary key (id,另一列名) enable validate;
3
stuid
number(10)
references
t_stu(stuid)
就是這個字段關(guān)聯(lián)t_stu表的stuid字段;
4
couseid
number(10),
5
constraint
fk_couseid
foreign
key(couseid)
6
references
t_couse(couseid)
7
on
delete
cascade);
這個是外鍵關(guān)聯(lián),并做同步刪除操作,就是如果t_couse表中的某個couseid數(shù)據(jù)被刪除了,那么這張表相關(guān)的數(shù)據(jù)也會自動被刪除;跟上面的區(qū)別就在于有沒有做刪除操作;
on
delete
cascade
就是同步刪除的意思,比如t_couse表中有個couseid=5,t_score表中也有couseid=5的數(shù)據(jù),當(dāng)刪除t_couse表中couseid=5的數(shù)據(jù)時,t_score表中所有couseid=5的數(shù)據(jù)也會自動刪除;
可以寫在同一行,但是要用逗號分格開;
望采納,碼字不容易
工具/材料
SQL Developer
01
首先打開SQL Developer軟件,找一個沒有主鍵約束的表,如下圖所示
02
然后我們新建一個查詢,在界面中輸入如下的約束修改語句,如下圖所示,主要通過add constranint來添加約束
03
編寫完約束添加語句以后,點擊工具欄中的執(zhí)行按鈕,如下圖所示,如果輸出欄顯示已變更則證明主鍵約束創(chuàng)建成果
04
然后我們進(jìn)入STUDENT表的約束添加頁中可以看到,我們加的主鍵約束已經(jīng)添加進(jìn)去了,如下圖所示
05
另外,創(chuàng)建表的時候可以直接添加主鍵約束,如下圖所示,直接在表創(chuàng)建語句中添加constraint即可
06
表創(chuàng)建完以后,記得在左側(cè)刷新數(shù)據(jù)庫信息,如下圖所示,因為你創(chuàng)建的信息不刷新的話不會更新
07
最后打開你所創(chuàng)建的表,看到你添加的主鍵約束已經(jīng)加入進(jìn)來了,這種方式的效果alter的方式是一樣的