我必须根据条件将数据从一个表插入到另一个表中。
1.If Key is found update records
2.If key is not found insert the record.
我使用的是sql server 2005。所以不能使用merge
语句。请提出实现这一目标的替代方案
我必须根据条件将数据从一个表插入到另一个表中。
1.If Key is found update records
2.If key is not found insert the record.
我使用的是sql server 2005。所以不能使用merge
语句。请提出实现这一目标的替代方案
IF EXISTS(--Query to check for the existence of your condition here)
BEGIN
--UPDATE HERE
END ELSE
BEGIN
--INSERT HERE
END
从复制SourceTable
到DesitinationTable
:
update dst
set col1 = src.col1
from DestinationTable dst
join SourceTable src
on src.Key = dst.Key
insert DestinationTable
(Key, col1)
select Key
, col1
from SourceTable src
where not exists
(
select *
from DestinationTable dst
where src.Key = dst.Key
)
CREATE PROCEDURE dbo.update_table1
@Field1 int, --key1
@Field2 int, --data fields
@Field3 int,
@Field4 int
AS
SET NOCOUNT ON
update table1 set Field2=@Field2,Field3=@Field3,Field4=@Field4
where Field1=@Field1;
IF(@@Rowcount=0)
BEGIN
insert into table1(Field1,Field2,Field3,Field4)
values (@Field1,@Field2,@Field3,@Field4);
END
GO