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

How to Use Merge Statement Using XML Data

We now that merge statement in SQL SERVER. With Merge statement we can merge the data from Source table into Target table. In the Last article we have already seen about Merge Statement .   These articles we will work around merge statement over xml data type. We know that xml data type SQL SERVER. XML Data type is used to storing xml data used Bulk Insert Data into SQL Tables. Example: --Create Student Table if object_id ( 'Student' ) is null create table Student ( id int identity ( 1 , 1 ) , Name varchar ( 20 ), Marks int ) Declare Xml Data Type and Assign Some Xml Data. Declare @Data xml set @Data = '<Root> <Student> <Name>Rakesh</Name> <Marks>80</Marks> </Student> <Student> <Name>Mahesh</Name> <Marks>90</Marks> </Student> <Student> <Name>Gowtham</Name...

SP_MSForeachtable

Some times we need to query on the all the tables in one data base single statement. We use SP_MSForeachtable this is known as undocumented stored procedures . These all are system stored procedures. These stored procedures is place in Master database. NOTE: Please do not run all these queries in Production environment Example: create database UnDocumentedStoredProcedure use UnDocumentedStoredProcedure create table Emp ( ID int identity ( 1 , 1 ), Name varchar ( 50 ), Salary int ) insert into Emp ( Name , Salary ) values ( 'rakesh' , 8000 ),( 'raju' , 9000 ) create table Dept ( ID int identity ( 1 , 1 ), DeptName varchar ( 100 ) ) insert into Dept ( DeptName ) values ( 'CSE' ),( 'IT' ) We are created new database and also created some table with some dummy data. Select all tables data: exec sp_MSForeachtable 'select * from ?...