Skip to main content

FOREIGN KEY WITH DELETE CASCADE

DELETE CASCADE: Foreign key delete cascade means when parent table records is deleted the corresponding child table records also deleted.
--CREATE DEMOS DATABASE
CREATE DATABASE DEMOS
USE DEMOS

CREATE TABLE DBO.DEPT
(
            ID INT PRIMARY KEY,
            DEPTNAME VARCHAR(100)
)


--INSERT DATA TO DEPT TABLE
INSERT INTO DBO.DEPT(ID,DEPTNAME) VALUES(1,'SOFTWARE'),(2,'BPO')


--CREATE EMP TABLE
CREATE TABLE DBO.EMP
(
            ID INT IDENTITY(1,1) PRIMARY KEY,
            FIRTSNAME VARCHAR(100) ,
            LASTNAME VARCHAR(100),
            LOCATION VARCHAR(100),
            DOB DATETIME,
            SALARY MONEY,
            DEPT INT
)

--ADD FOREIGN KEY TO EMP TABLE
ALTER TABLE DBO.EMP
ADD CONSTRAINT FK_DEPTID FOREIGN KEY (DEPT)
REFERENCES DBO.DEPT(ID) ON DELETE CASCADE ON UPDATE CASCADE

--INSERT SOME DATA TO EMP TABLE
INSERT INTO DBO.EMP(FIRTSNAME,LASTNAME,LOCATION,DOB,SALARY,DEPT)
VALUES
('RAKESH','KALLURI','HYDERABAD','07-23-1989',24000,1),
('NARESH','CH','PUNE','07-23-1987',48000,1),
('SRUJAN','KUMAR','HYDERABAD','07-23-1988',25000,1),
('VENKATESH','BODUPPALY','HYDERABAD','07-23-1986',32000,2),
('ALI','MD','HYDERABAD','07-23-1987',38000,2),
('GANGA','RAJAYAM','PUNE','05-26-1987',390000,2),
('RAVI','KUMAR','CHENNAI','03-23-1986',47000,1),
('PRAVEEN','KUMAR','DELHI','07-23-1988',33000,2)


SELECT * FROM DBO.DEPT













SELECT * FROM DBO.EMP











DELETE FROM  DBO.DEPT WHERE ID=1

Whenever we are trying to Delete records from DEPT table Whose DEPTID Is 1, this child EMP table records also get deleted.













--CHECK THE RECORDS AFTER DELETE
 SELECT * FROM DBO.EMP



                       


Comments

Popular posts from this blog

Rank Functions in SQL SERVER

1 . ROW_NUMBER () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns the sequantial number of a row within the a partition of result set at 1 for the first row of the each partition. 2. RANK () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns rank for rows within the partition of result set. 3. DENSE_RANK () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns rank for rows within the partition of result set.With out any gaps in the ranking. 4. NTILE ( INTEGER_EXPRESSION ) OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Distributes the rows in an ordered partition into a specified number of groups. Examples: --create Employee table create table Employee (                 EmpId int identity ( 1 , 1 ) primary key ,              ...

Difference between LEN and DATALENGTH

LEN: LEN function returns the number of characters in a variable .it also removes the trailing spaces and then then return the length. Example-1: DECLARE @Name VARCHAR ( 20 )= 'rakesh' SELECT LEN ( @Name ) as [len] Output: Example-2: DECLARE @Name VARCHAR ( 20 )= 'rakesh ' SELECT LEN ( @Name ) as [len] Output: When we observe above variable assigned 'rakesh ' string after that added 3 spaces . Len function removes trailing spaces not leading spaces. DATALENGTH : DATALENG function returns the number of bytes occupy in a variable .it also considered the spaces also. Example-1: DECLARE @Name VARCHAR ( 20 )= 'rakesh' SELECT DATALENGTH ( @Name ) as [DataLength] Output: Example-2: DECLARE @Name VARCHAR ( 20 )= ' rakesh ' SELECT DATALENGTH ( @Name ) as [DataLength] Output: In above example before ' r ' and after ...