oracle資料庫中怎麼設定欄位的唯一性

2021-03-12 14:56:35 字數 1238 閱讀 4379

1樓:

有兩種方法:

1. 將欄位設定為主碼(一個表只能定義一個主碼):

a.建立表時設定主碼:語句格式

create teable 表名( 欄位名 型別及長度 primary key,...)

b.建立完表後給表新增主碼(前提條件:表無主碼,且將要設定為主碼的列必須不允許空值、已存在的值不允許重複)

alter table 表名 add primary key(列名)

2. 設定欄位為唯一值約束(一個表可以定義多個唯一值約束):

a. 建立表時設定唯一值約束

create table 表名(... , 欄位名 型別及長度 unique, ...)

b.建立完表後新增唯一值約束(前提條件:將要設定唯一值約束的列已存在的值必須不重)

alter table 表名 add unique(列名)

2樓:匿名使用者

1.設定成主鍵 primary key(欄位)

2. 在建立表中加入constraint 表名 unique(欄位)

3樓:

create table t_a

(id int unique;

sname varchar2(20 char))

4樓:無鹽一對

可以設定唯一索引,但是null值是可以重複的

oracle如何知道資料庫表中哪個欄位設定了唯一性約束?

5樓:匿名使用者

select *

from user_constraints ; 這樣可以查出所有的使用者表的約束 你可以通過where條件指定你的那個約束 找出表

6樓:匿名使用者

select a.constraint_name,a.table_name,a.column_name

from user_cons_columns a,user_constraints b

where a.constraint_name=b.constraint_name and b.

constraint_type='p' and b.table_name='你的表名';

7樓:匿名使用者

select object_name,object_type,status from user_objects;

oracle資料庫如何刪除約束,資料庫中怎樣刪除約束

用system使用者登入後,使用drop語句就可以刪除 根據錯誤提示的約束名稱,然後disable掉試試。alter table table name disable constraint constraint name alter table 約束基於的表名 drop constraint 約束名...

oracle資料庫訪問另資料庫問題

可以使用dblink 在資料庫b上建立database link 然後配置使用者名稱,密碼和sid 其次注意要有訪問該表的許可權,然後再b中直接輸入 select from a dblink name 就可以了 用資料庫鏈路 create public database link toaconnec...

oracle資料庫行轉列,Oracle 資料庫行轉列

create table a 名稱 varchar2 10 1月 varchar2 10 2月 varchar2 10 3月 varchar2 10 4月 varchar2 10 insert into a values 土豆 50,60,70,80 insert into a values 白菜 ...