Skip to main content

PRIMARY KEY CONSTRAINT WHEN TABLE CREATING


1.    Primary key is a filed in a table which uniquely identifies each row / record.
2.    When we create primary key on columns it follows two conditions.
A.    Primary key column is uniquely identifies each row / record.
B.    Primary key column not allow NULL values.

Column level:

CREATE TABLE Tbl_emp_Pk
(
  ID INT PRIMARY KEY,
  NAME VARCHAR(10),
  SALARY INT NOT NULL
)

Table level:

CREATE TABLE Tbl_emp_Pk
(
  ID INT ,
  NAME VARCHAR(10),
  SALARY INT NOT NULL
  CONSTRAINT pk_ID PRIMARY KEY (ID)
)

To check list of primary key constraints

SELECT * FROM SYS.KEY_CONSTRAINTS 
WHERE  type='PK'

Here inserting the some sample data

INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(1,'Rakesh',7000)

INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(2,'Banu',8000)

INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(3,'Ravi',9000)

SELECT * FROM Tbl_emp_Pk








Senario-1:

INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(3,'Madhu',1000)

In above  table data 3 values is already exists in ID column. The above insert satement will fail baecuse

Msg 2627, Level 14, State 1, Line 2
Violation of PRIMARY KEY constraint 'pk_ID'. Cannot insert duplicate key in object 'dbo.Tbl_emp_Pk'.

PRMARY KEY FILED IN TABLE IS UNIQUELY IDENTIFIES EACH ROW/RECORD.
Senario-2:

INSERT INTO Tbl_emp_Pk ( ID,NAME,SALARY)
VALUES(NULL,'Madhu',1000)

In above insert query NULL value is inserting in ID column. The above insert satement will fail bacause of prmary key field not allow null values.

Msg 515, Level 16, State 2, Line 3
Cannot insert the value NULL into column 'ID', table 'test.dbo.Tbl_emp_Pk'; column does not allow nulls. INSERT fails.

PRMARY KEY FILED IN TABLE IS NOT ALLOW NULL VALUES

When we create primary key on table automaticallly unique index is created on the table beacuse of primary key columns not allow NULL value.

To check the unique index on table simple query below.

SELECT * FROM SYS.INDEXES  WHERE [object_id]= OBJECT_ID('Tbl_emp_Pk')

Comments

Popular posts from this blog

Coalesce function

Coalesce function returns the first non-null value among the arguments. Syntax: Coalesce (expression [,..n]) Here is example using Coalesce function Example 1 DECLARE @Str1 varchar ( 10 ), @str2 varchar ( 20 ), @Str3 varchar ( 20 ) SET @Str2 = 'Sql' , @Str3 = 'Server' SELECT COALESCE ( @Str1 , @str2 , @Str3 ) As [Coalesce] In above example @Str2 value is ‘Sql’ , @str3 value is ‘Server’  and @str1 values is Null because it not assigned any value . Output: It return’s “Sql” because Coalesce function return’s first non null value. Example 2: Coalesce in select statement. IF OBJECT_ID ( 'Employee' , 'U' ) IS NOT NULL DROP TABLE Employee CREATE TABLE Employee (   ID INT IDENTITY ( 1 , 1 ) PRIMARY KEY ,   NAME VARCHAR ( 20 ),   SALARY INT ) INSERT INTO Employee   ( NAME , SALARY ) VALUES ( 'Rakesh' , 5000 ),(NULL, 6000 ),( 'Naresh...

IDENTITY COLUMNS

Identity column specifies when ever new value is inserted into table. Identity column automatically inserted value into column. Identity Column can be specified at the time of creation of table. CREATE TABLE Employee (  EMPID INT IDENTITY ( 1 , 1 ),  EMPNAME VARCHAR ( 50 ),  SALARY INT ) In above table creation script EMPID column specifies IDENTITY property i.e., whenever a new row inserted into a Employee table EMPID Column will automatically value is inserted. INSERT INTO Employee ( EMPNAME , SALARY ) VALUES ( 'RAKESH' , 7000 ) INSERT INTO Employee ( EMPNAME , SALARY ) VALUES ( 'ALI' , 12000 ) SELECT * FROM Employee When u run above select statement is the following result is if u are trying insert value into identify columns .it will give error. INSERT INTO Employee ( EMPID , EMPNAME , SALARY ) VALUES ( 1 , 'RAKESH' , 7000 ) Msg 5...