oracle建立表時要注意哪些約束 如下

時間 2022-03-18 09:15:19

1樓:匿名使用者

主鍵唯一不為空

不同字段型別對應的最大長度

表關聯的話,本表外來鍵的型別和長度要和以次外來鍵為主鍵的外表的主鍵型別長度一致

2樓:匿名使用者

oracle建表約束主要有以下幾大類:

nn:not null 非空約束

uk:unique key 唯一約束

pk:primary key 主鍵約束

fk:foreign key 外來鍵約束

ck:check 條件約束

一張表必須要有乙個字段為主鍵,這段不能為空,並且值唯一,oracle中一般將該字段定義為數值型別,用序列為該字段插入值;其他欄位的約束要根據業務需求來定。

給表中的字段新增約束可以在建立表時新增,也可以在修改時新增。

建立表必須給出表名、欄位名、字段型別,約束條件不是必須的。

例如:建立如下表時

create table tb_constraint_1

(empno number primary key, --主鍵約束

ename varchar2(20) not null, --非空約束

email varchar2(60) unique, --唯一約束

sal number(5) check(sal>1500), --核查約束

deptno number(4) references tb_dept(deptno) --外來鍵約束

);修改已建立表中某個欄位的約束:

alter table tb_constraint_1 add constraint yueshumingzi unique(ename );--修改姓名字段值必須唯一

建立表的外來鍵約束時,外來鍵字段的型別必須和關聯表的主鍵的型別一致。

表名和欄位名的長度oracle預設約定為長度不能大於30個字元

建立好的表,字段可以修改,以下是修改 新增表 刪除表字段 格式:

alter table 表名 add 新列列名 列資料型別 [default 0 not null] (新增列預設值為0)

alter table 表名 drop 列名 (刪除列)

alter table 表名 alter column 列名 新新增的資料型別 (修改列)

3樓:匿名使用者

比如主鍵一般要唯一,字段可以進行not null,unique,check等約束,欄位的型別及長度等,根據預算長度要合理,以免空間不足或者資源浪費;插入資料的時候肯定就是要字段型別對應咯

在oracle中,建立表時,不建立主鍵,有沒有預設索引?如果有,是什麼索引?

4樓:隨o天

oracle資料庫建立表是有兩個約束帶有預設索引。

1、主鍵primary key:唯一索引、非空2、唯一unique:唯一索引,可以是空值如果沒有設定主鍵和唯一約束,表中不會有預設索引的。

5樓:匿名使用者

應該是沒有預設索引,建立主鍵或者索引之後,oracle會在單獨的一塊區域建立索引的資料,索引的資料和表的資料是分別存放的,不是在一起的,索引的資料就對應表的主鍵或者其他索引,例如,你的表裡有100條資料,並且有主鍵,那麼在索引的區域就會有100條資料和它們對應,並且由於是主鍵資料,所以每條資料都是唯一的,不會重複,資料檢索的時候,先去檢索索引區,因為那裡的資料比較少,所以速度很快。但如果沒有主鍵,乙個表中可以有重複的資料,所以系統也不知道按照什麼樣的規則自動建索引,就不會有預設的索引,oracle每次查詢都會進行全表查詢。

oracle建立表時出現識別符號無效

6樓:匿名使用者

uid 在oracle中不能使用的。以前也碰到你這樣的情況,把uid改成usid或者別的吧。

7樓:匿名使用者

uid 是關鍵字 要換乙個名字 或者 加引號 "uid"

8樓:匿名使用者

create table login_user(uid number not null , uname varchar(20) not null,

upass varchar(20) not null,primary key(uid));

oracle建立表時出現ora-01659錯誤 5

9樓:

由於表空間小導致,建表語句中指定24m,可以適當調整為64k,或是增加原表空間的大小:alter database datafile '/dev/vg01/file.dbf'

resize 999m;

10樓:

ps 表空間太小,

你建表指定24m

oracle資料庫建立表時,int型資料為何報錯

oracle資料庫中是有int型的,你在建立表的時候,使用int型報錯,可能的原因是你為int型增加了精度,如int 10 或者是你的oracle 版本過低造成的。在oracle中int型與integer型都是number型別的子型別,int是integer 的簡寫,相當於number 38 是為了...

Oracle資料庫建立表空間問題

二者的主要區別就是前乙個的 extent 區 是自動管理的 extent management local 也就是說這個表空間oracle會根據缺省區的引數對extent進行管理。後面乙個語句所形成的表空間的 extent 是通過defaultstorage initial 20knext 10mp...

打雷時要注意什麼,打雷時要注意哪些事項

1.關閉所有電器,不要打 手機 2.張嘴捂住耳朵 看看這個吧 打雷時打手機容易被雷擊?2004年7月23日,一道閃電和緊跟著的一聲巨雷讓擠在居庸關長城烽火台避雨的數十人被震倒在地上,一些遊客瞬時失去了知覺,至少有15人因傷住進醫院,其中包括一名外國遊客。針對23日居庸關長城部分遊客遭雷擊的事件,北京...