You are on page 1of 2

---MERGE- A COMBINATION OF INSERT ,DELETE AND UPDATES

create table Productsource


(
Product_ID int not null,
ProductName varchar(20),
Price int
)
----here the Source table to the latest data
create table ProductTarget
(
Product_ID int not null,
ProductName varchar(20),
Price int
)
--this target table is not fresh /stale data - that need to be update using the
merge syntax
insert into Productsource
values(1,'table',100),
(2,'desk',80),
(3,'charir',50),
(4,'computer',300)
insert into ProductTarget
values(1,'table',100),
(2,'desk',80),
(5,'bed',50),
(6,'cupboard',300)

select* from ProductTarget

delete from Productsource


delete from ProductTarget

merge ProductTarget As T
using ProductSource as S
on S.Product_ID=T.Product_ID
when not matched by Target then
insert(Product_ID,ProductName,Price)
values(S.Product_ID,S.ProductName,S.Price)
when matched then update
set T.ProductName=S.ProductName,
T.Price=S.Price
when not matched by Source then delete;

---delete -delete exiting data from table


delete from ProductTarget where Product_ID=4
--only particular data or selected data can be deleted
delete from ProductTarget
--here entire record ges deleted
.
--

Truncate table ProductTarget


---complete data from table gets deleted.
--Here there is similarity between truncate and delete.
drop table ProductTarget
---entire table gets deleted.-whole structure gets deleted

---
select* from Productsource
WHERE e_GENDER =MALE AND e_DEPT =hr

You might also like