表1,name 唯一 可以設(shè)置為主鍵 name varchar2(50) primary key 表2,id是表一ID的外鍵 id references 表一名(id) 就可以了
創(chuàng)新互聯(lián)公司專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,雅安服務(wù)器托管,雅安服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
1. 說明一下關(guān)于“數(shù)據(jù)庫唯一名稱”
1.1) Global_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO ‘db_name.db_domain’。查看方式:show parameter global_name;
1.2) 配置監(jiān)聽中的GLOBAL_DBNAME:
三種監(jiān)聽配置的方式:Database、PLSExtProc 和Executable
Database 模式是標準的配置方式,也是最常用的數(shù)據(jù)庫連接方式。
PLSExtProc 模式允許PL/SQL程序訪問外部程序,并且被大多數(shù)實例配置為默認連接方式
Executable 模式允許外部程序能通過一個tns連接被訪問(目前沒用到過)
Database 模式配置方式:
(SID_DESC =
(GLOBAL_DBNAME= querymqq)
(ORACLE_HOME= /data/oracle/product/10.2.0/db_1/)
(SID_NAME = mqq)
)
2. 環(huán)境變量是指得,命令提示行中設(shè)置的?假設(shè)是這個意思,需要做以下操作:
打開命令提示行,即C:\提示符下
2.1) C:\ set ORCLE_UNQNAME=xxx
注:xxx是你要命名的新數(shù)據(jù)庫唯一名稱
2.2) C:\ notepad stmt.sql
注:編輯腳本stmt.sql,提示如文件不存在是否創(chuàng)建,選“是”
stmt.sql腳本中輸入以下內(nèi)容:
alter database rename GLOBAL_NAME TO '1';
--保存退出,需要說明的是,global_name不是可以隨便改動的,參見第1點的說明,這里只是為了說明如何在sql腳本中調(diào)用環(huán)境變量
2.3) C:\ sqlplus "/as sysdba" @stmt.sql %ORCLE_UNQNAME%
建表后可以增加約束
ALTER?TABLE?table_name??
ADD?CONSTRAINT?constraint_name??
UNIQUE?(column1,?column2,?...?,?column_n);
建表語句中可以增加字段約束
create?table?table_name
(??
column1??????number?not?null,??
column2??????number?not?null,??
column3??????varchar2(50),??
CONSTRAINT?constraint_name?UNIQUE?(column2)?--定義唯一性約束??
);
可以是讓oracle 忽略就存在表內(nèi)的重復(fù)值,并且新插入的數(shù)據(jù)遵守唯一約束.
操作步驟
1.檢查當前oracle 唯一約束創(chuàng)建的索引的unique的列的值. 必須是not unique.
2.如果是unique這要刪除該約束重新建,新建的約束先disable,并且要deferred
3.這時候檢查oracle 唯一約束創(chuàng)建的索引的unique的列的值你會發(fā)現(xiàn)該索引時not unique
4.接下來你就可以enable 該約束了
明天天帖出示例,現(xiàn)在沒時間
有兩種方法:
(1)視圖dba_constraints
(2)視圖dba_indexes
設(shè)置一個字段,為主鍵,這個主鍵就是不重復(fù)的,主鍵的內(nèi)容可以使用oracle的sequence。
方法一、
視圖dba_constraints,這張表中有所有的表的約束,擁有唯一約束的字段就擁有唯一索引,其中Constraint_type的值應(yīng)該是U,不過值是R的表示主鍵,這個也存在唯一索引,不知道你要不要找這種,所以個人認為在這張表內(nèi)能找到。
方法二:
視圖dba_indexes,這里的index_type應(yīng)該也能查到唯一索引。
網(wǎng)頁題目:oracle中唯一怎么設(shè) oracle設(shè)置字段唯一性約束
文章轉(zhuǎn)載:http://muchs.cn/article42/hjcoec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、云服務(wù)器、網(wǎng)站設(shè)計公司、網(wǎng)站排名、服務(wù)器托管、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)