Skip to main content

Merge Statement Part-1

 --Create Source_Student
 if object_id('Source_Student') is null
 create table Source_Student(id int identity(1,1) ,Name varchar(20)Marks int)
               
--Insert Some Sample Data to Source_Student
  insert Source_Student (Name,Marks) values('Rakesh',500)
  insert Source_Student (Name,Marks) values('Raju',400)
               
--Create Target_Student
 if object_id('Target_Student') is null
 create table Target_Student(id int ,Name varchar(20), Marks int)
               
--Insert Some Sample Data to Target_Student
  insert Target_Student (id,Name,Marks) values(1,'Rakesh',600)
  insert Target_Student (id,Name,Marks) values(3,'Nani',700)
               
  --Select Two Tables Data
   select * from Source_Student
   select * from Target_Student

In the Source table Id -1 record need to update marks column. Id-2 record need to insert in the Target Column. In the Target column Id-3 record need delete from Target column.
  --Run Merge Satement
  merge into Target_Student as trg
   using  Source_Student  as src 
   on trg.Name=Src.Name
    when matched then update
              set trg.Name=src.Name, trg.Marks=src.Marks
    when not matched then insert (id,Name,Marks)
                                    values(src.id,src.Name,src.Marks)
   when not matched by source then delete;

Select * from Target_Student
     





Comments

Post a Comment

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