මෙහි සියලු වෙනස් ප්රවේශයන් ඒකාබද්ධ කිරීම.
- යාවත්කාලීන තෝරන්න
- පොදු වගු ප්රකාශනයක් සමඟ යාවත්කාලීන කරන්න
- ඒකාබද්ධ කරන්න
නියැදි වගු ව්යුහය පහතින් ඇති අතර එය නිෂ්පාදන_බීකේ සිට නිෂ්පාදන වගුව දක්වා යාවත්කාලීන වේ.
නිෂ්පාදන
CREATE TABLE [dbo].[Product](
[Id] [int] IDENTITY(1, 1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Description] [nvarchar](100) NULL
) ON [PRIMARY]
නිෂ්පාදන_බක්
CREATE TABLE [dbo].[Product_BAK](
[Id] [int] IDENTITY(1, 1) NOT NULL,
[Name] [nvarchar](100) NOT NULL,
[Description] [nvarchar](100) NULL
) ON [PRIMARY]
1. යාවත්කාලීන තෝරන්න
update P1
set Name = P2.Name
from Product P1
inner join Product_Bak P2 on p1.id = P2.id
where p1.id = 2
2. පොදු වගු ප්රකාශනයක් සමඟ යාවත්කාලීන කරන්න
; With CTE as
(
select id, name from Product_Bak where id = 2
)
update P
set Name = P2.name
from product P inner join CTE P2 on P.id = P2.id
where P2.id = 2
3. ඒකාබද්ධ කරන්න
Merge into product P1
using Product_Bak P2 on P1.id = P2.id
when matched then
update set p1.[description] = p2.[description], p1.name = P2.Name;
මෙම ඒකාබද්ධ කිරීමේ ප්රකාශයේ, ඉලක්කයට ගැලපෙන වාර්තාවක් සොයාගත නොහැකි නම් අපට ඇතුල් කළ හැකිය, නමුත් ප්රභවයේ පවතින අතර කරුණාකර සින්ටැක්ස් සොයා ගන්න:
Merge into product P1
using Product_Bak P2 on P1.id = P2.id;
when matched then
update set p1.[description] = p2.[description], p1.name = P2.Name;
WHEN NOT MATCHED THEN
insert (name, description)
values(p2.name, P2.description);
SET Table.other_table_id = @NewValue
) අතර ඇති සම්බන්ධතාවය සංස්කරණය කරන්නේ නම් , ON ප්රකාශය වැනි දෙයකට වෙනස් කරන්නON Table.id = @IdToEdit AND other_table.id = @NewValue