利用Oracle设置多主键的方法(oracle多主键)

Oracle是一种常见的半关系型或者关系型数据库,经常会定义表的时候需要利用多个字段作为表的主键,来更好的保证数据数据的完整性及准确性。Oracle中设置表的多列主键的方法类似,接下来就以example表为例来讲解Oracle中设置多主键的方法。

首先,我们需要建立 example 表:

CREATE TABLE example
(
id NUMBER NOT NULL,
name VARCHAR2(40) NOT NULL,
department VARCHAR2(40) NOT NULL
);

然后,我们利用Oracle中的ALTER TABLE 和 CONSTRAINT 语句来添加多主键,将 id、name 和 department 字段设置为 example 表的多列主键:

ALTER TABLE example
ADD CONSTRAINT test_pk PRIMARY KEY (id,name, department);

以上就完成了 example 表中多列主键的设置,使用 Oracle 中的 SELECT 语句在 example 表中插入数据可以看到,通过以上的多列主键设置,Oracle在example表中是无法插入同样的多列主键的:

INSERT INTO example (id, name, department)
VALUES (1, 'wenjie', 'IT');

若尝试插入重复的多列主键,则会报错:

INSERT INTO example (id, name, department)
VALUES (1, 'wenjie', 'IT');

-- Error starting at line : 59 in command -
-- INSERT INTO example (id, name, department)
-- VALUES (1, 'wenjie', 'IT')
-- Error report -
-- ORA-00001: unique constraint (SYSTEM.TEST_PK) violated

我们可以看到,Oracle在多列主键设置上运行正常,多列主键同时限定了单条数据在表中的唯一性。

总结来说,利用 Oracle 设置多主键的方法是:首先建立表,然后通过ALTER TABLE和CONSTRAINT语句将想要作为主键的多列设置为主键,这样就做到了多列主键的添加。通过上述方法,Oracle在多列主键约束的条件下,我们可以有效的对表中的数据进行唯一性控制。


数据运维技术 » 利用Oracle设置多主键的方法(oracle多主键)