Categories: SQL Tutorials

What are SQL Unique Constraint with example?

SQL Unique Constraint :

In my previous article i have given idea of different types of constraints in SQL as well as SQL Not null Constraint with its examples.  In This article i will try to explain about other SQL Constraint which is most important constraint of SQL which is specifically used to define the relationship between tables.SQL Unique constraint defines the unique values for that specific column.

The SQL UNIQUE Constraint uniquely identifies each record in a database table.

How To create Unique key Constraint in SQL ?

This section gives you the practical example of creating unique key which is used in real life industry scenarios.

The UNIQUE and PRIMARY KEY Constraints both provide a guarantee for Uniqueness for a column or set of columns.

A PRIMARY KEY Constraint automatically has a UNIQUE Constraint defined on it.

You can have many UNIQUE Constraints per table, but only one PRIMARY KEY Constraint per table is allowed.

Real life Scenario:

CREATE TABLE Student

(

RollNo Number (10) UNIQUE,

FName Varchar2 (15),

LName Varchar2 (15),

Location Varchar2 (20)

);

Try Entering below Query twice:

 Example:

 INSERT INTO Student (RollNo, FName, LName, Location)

Values (101,’Rajiv’, ‘M’, ‘Pune’);

ERROR at line 1:

ORA-00001: unique constraint (Rajiv.SYS_C004784) violated

To find System Constraint with Constraint Type:

SELECT Table_Name, Constraint_Type, Constraint_Name FROM User_Constraints;

To allow naming of a UNIQUE constraint, and for defining a UNIQUE constraint on multiple columns, use the following

SQL Syntax:

CREATE TABLE Student

(

RollNo Number (10),

FName Varchar2 (15),

LName Varchar2 (15),

Location Varchar2 (20),

CONSTRAINT U_Student_FName_LName UNIQUE (FName, LName)

);

Try Entering below Query twice:

 Example:

 INSERT INTO Student(RollNo, FName, LName, Location)

Values (101,’Amit, ‘S’, ‘Pune’);

ERROR at line 1:

ORA-00001: unique constraint (Amit.U_STUDENT_FNAME_LNAME) violated

 To DROP a UNIQUE Constraint:

 To Drop a UNIQUE Constraint, use the following SQL:

 Syntax:

 ALTER TABLE <Table_Name>

DROP CONSTRAINT <Constraint_Name>;

Example:

ALTER TABLE Student

DROP CONSTRAINT SYS_C005059;

ALTER TABLE Student

DROP CONSTRAINT U_Student2A_FName_LName;

Note: The above statement will drop the Unique Constraint ‘U_Student_FName_LName’ from the ‘Student’ Table.

SQL UNIQUE Constraint on ALTER TABLE:

To create a UNIQUE constraint on the “RollNo” Column when the table is already created, use below SQL:

 Syntax:

 ALTER TABLE <Table_Name>

ADD <Constraint_Type> (Column_Name);

ALTER TABLE Student

ADD Unique (RollNo);

Example 2:

ALTER TABLE Student MODIFY RollNo Number (5) UNIQUE;

ALTER TABLE Student MODIFY RollNo Unique;

To allow naming of a UNIQUE Constraint, and for defining a UNIQUE constraint on multiple columns, use the following

 Syntax:

 ALTER TABLE <Table_Name>

ADD CONSTRAINT <Constraint_Name> CONSTRAINT_TYPE (Column_Name);

Example:

ALTER TABLE Student

ADD CONSTRAINT U_Student_FName_Location UNIQUE (FName, Location);

Disable a UNIQUE CONSTRAINT:

 If we do not wish to DELETE the Unique Constraint as we may need the same in future but for some time we want the unique constraint not to function, then we can DISABLE the Unique Constraint.

Syntax:

 ALTER TABLE <Table_Name>

DISABLE CONSTRAINT <Constraint_Name>;

To find Constraint Enabled or Disabled:

Select Table_Name, Constraint_Type, Constraint_Name, Status, Generated from User_Constraints;

Example:

ALTER TABLE Student

DISABLE CONSTRAINT U_Student_FName_Location;

Here in the above ALTER Statement we have DISABLED the UNIQUE CONSTRAINT ‘<Constraint_Name>’ on the ‘Student’ Table.

Enabling a UNIQUE CONSTRAINT:

We can enable a unique constraint that has been disabled earlier, the syntax for enabling a unique constraint in Oracle SQL / PLSQL is:

 Syntax:

 ALTER TABLE <Table_Name>

ENABLE CONSTRAINT <Constraint_Name>;

Example:

ALTER TABLE Student

ENABLE CONSTRAINT U_Student_FName_Location;

Here in the above ALTER Statement we have ENABLED the UNIQUE CONSTRAINT ‘<Constraint_Name>’ on the ‘Student’ Table.

Hope This article will be helpful to the users to add the unique constraint in the table or to create new table with specified unique constraints. If you like this article or if you have any suggestions with this article kindly comment it in comment section.

Amit S

Oracle Consultant with vast experience in Oracle BI and PL/SQL Development. Amiet is the admin head of this website who contributes by preparing tutorials and articles related to database technologies. He is responsible to manage the content and front-end of the website.

Recent Posts

What is Root Cause Analysis (RCA) With real examples

In my previous article I have given details about application support engineer day to day…

4 weeks ago

Application Support Engineer Day to day responsibilities

In my previous articles I have given the roles and responsibilities of L1,L2 and L3…

1 month ago

What is mean by SLA ( Service Level Agreement) with Examples?

In my previous articles i have given the hierarchy of production support in real company…

1 month ago

What is Production support Hierarchy in organization?

In this article i would like to provide information about production support organization structure or…

1 month ago

What are roles and responsibilities for L3 Support Engineer?

In my previous article I have given roles for L1 and L2 support engineer with…

1 month ago

What are roles and responsibilities of L2 Engineer?

I have started this new series of how to become application support engineer. This article…

1 month ago