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...

Variables in T-SQL

Variables can be used to store the data in temporally based on data type. Variable name begin with @ symbol. There are two types of variables in T-SQL. 1.   Local Variables (It must begin @ symbol). 2.   Global Variables (it must begin @@ symbol) this variables also known as system variables. Syntax Declare a Variable DECLARE   @Variable-Name   DATATYPE EXAMPLE: DECLARE   @Name   VARCHAR ( 100 ) In before 2008 versions of SQL SERVER we declare a variable and assign a value in 2 lines.                 DECLARE   @Name   VARCHAR ( 100 ) SET   @Name = 'LeadFirstSQL' In 2008 and Later versions of SQL SERVER we declare a variable and assign a value in single line. DECLARE   @Name   VARCHAR ( 100 )   = 'LeadFirstSQL' Variables must be declare and used with the same batch. DECLARE   @Name   VARCHAR ( 100 ) ...