首頁  >  文章  >  資料庫  >  oracle 設定主鍵

oracle 設定主鍵

PHPz
PHPz原創
2023-05-07 20:36:063142瀏覽

在 Oracle 資料庫中,主鍵是用來唯一標識每個表中行資料的一種限制。主鍵約束能夠保證表中任何一個行資料都有唯一的標識,因此在設計資料庫的時候,給表設定主鍵非常重要。下面我們將詳細介紹如何在 Oracle 中設定主鍵。

  1. 建立表格時設定主鍵約束

在建立表格的時候,可以透過設定主鍵約束來定義表格的主鍵。以下是建立表格時設定主鍵約束的語法:

CREATE TABLE table_name (
   column1 datatype constraint constraint_name PRIMARY KEY,
   column2 datatype,
   column3 datatype,
   .....
);

在上述語法中,column1 代表表格中的列名,datatype 代表該列的資料類型。而 PRIMARY KEY 約束用來設定主鍵約束,constraint_name 則是主鍵約束的名稱。

例如,我們可以建立一個Employee 表,並將EmployeeID 欄位設定為主鍵:

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3)
);
  1. 在已存在的表中新增主鍵約束

如果在建立表格時沒有設定主鍵約束,我們也可以在表格建立後再新增主鍵約束。以下是在已存在表中新增主鍵約束的語法:

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);

在上述語法中,table_name 代表要新增主鍵約束的表名,constraint_name 是主鍵約束的名稱,(column1, column2, ... column_n) 代表要設定為主鍵的列名,可以設定多個列作為主鍵。

例如,如果我們已經建立了一個Orders 表,我們可以在該表中新增OrderIDOrderDate 欄位作為主鍵:

ALTER TABLE Orders
ADD CONSTRAINT pk_Orders PRIMARY KEY (OrderID, OrderDate);
  1. 禁止Null 值

在設定主鍵約束後,Oracle 會自動禁止表中出現Null 值。如果插入任何一行資料時,包含一個 Null 值,則會被拒絕並觸發錯誤訊息。因此,要確保表中主鍵列中的全部值不為 Null。

在某些情況下,我們需要主鍵允許有 Null 值。此時,需要在主鍵列中使用 NULL 關鍵字來允許 Null 值。

例如,在Employee 表中,如果我們不想要透過EmployeeID 欄位來識別員工,則可以將其設定為允許Null 值:

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3),
   AltEmpID number(10) NULL
);

以上是Oracle 設定主鍵約束的方法。主鍵的設定對於資料庫的效能和資料完整性非常重要,因此在設計資料庫時,請務必設定主鍵約束,以確保資料的一致性和完整性。

以上是oracle 設定主鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn