/* UNIQUE */
-- UNIQUE is an object of a database
-- A value of a data in a column MUST BE only unique value in the column
CREATE TABLE ex2_7(
col_unique_null VARCHAR2(10) UNIQUE,
col_unique_not_null VARCHAR2(10) UNIQUE NOT NULL,
col_unique VARCHAR2(10),
CONSTRAINT unique_nm1 UNIQUE (col_unique) -- Specify 'col_unique' column to be UNIQUE
);
SELECT
constraint_name, -- unique_nm1 is a name
constraint_type,
table_name,
search_condition
FROM user_constraints
WHERE table_name = 'EX2_7'
;
INSERT INTO ex2_7
VALUES
('AA', 'AA', 'AA')
;
INSERT INTO ex2_7
VALUES
('AA', 'AA', 'AA') -- ERROR : unique violated! To all the columns
;
INSERT INTO ex2_7
VALUES
('', 'BB', 'BB') -- NULL can be inserted into the unique column
;
INSERT INTO ex2_7
VALUES
('', 'CC', 'CC') -- NULL can be inserted again into the unique column
;