在 Oracle 資料庫中,主鍵是用來唯一標識每個表中行資料的一種限制。主鍵約束能夠保證表中任何一個行資料都有唯一的標識,因此在設計資料庫的時候,給表設定主鍵非常重要。下面我們將詳細介紹如何在 Oracle 中設定主鍵。
在建立表格的時候,可以透過設定主鍵約束來定義表格的主鍵。以下是建立表格時設定主鍵約束的語法:
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) );
如果在建立表格時沒有設定主鍵約束,我們也可以在表格建立後再新增主鍵約束。以下是在已存在表中新增主鍵約束的語法:
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);
在上述語法中,table_name
代表要新增主鍵約束的表名,constraint_name
是主鍵約束的名稱,(column1, column2, ... column_n)
代表要設定為主鍵的列名,可以設定多個列作為主鍵。
例如,如果我們已經建立了一個Orders
表,我們可以在該表中新增OrderID
和OrderDate
欄位作為主鍵:
ALTER TABLE Orders ADD CONSTRAINT pk_Orders PRIMARY KEY (OrderID, OrderDate);
在設定主鍵約束後,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中文網其他相關文章!