Это хороший кандидат на команду MERGE?
Должны ли исходные данные также быть другой таблицей или это могут быть передаваемые переменные?
Если это должна быть таблица, вставляет ли переданные переменные во временную таблицу нормально?
Не могли бы вы помочь мне с синтаксисом?
CREATE PROCEDURE [dbo].[usp_ConvertToMerge]
@GL_DT date
,@SRC_SYS_ID varchar(60)
,@MLR_SRC_SYS_CD char(3)
,@TRSRY_FEED_DT date
,@Data varchar(20)
AS
BEGIN
IF NOT EXISTS (SELECT
@GL_DT
FROM
MLR_REBATE_IBOR_INFO_2
WHERE
[GL_DT] = @GL_DT
AND [SRC_SYS_ID] = @SRC_SYS_ID
AND [MLR_SRC_SYS_CD] = @MLR_SRC_SYS_CD
AND [TRSRY_FEED_DT] = @TRSRY_FEED_DT)
BEGIN
INSERT INTO [dbo].[MLR_REBATE_IBOR_INFO_2]
([GL_DT],
[SRC_SYS_ID],
[MLR_SRC_SYS_CD],
[TRSRY_FEED_DT],
[Data])
SELECT
@GL_DT
,@SRC_SYS_ID
,@MLR_SRC_SYS_CD
,@TRSRY_FEED_DT
,@Data
END
ELSE
BEGIN
UPDATE [dbo].[MLR_REBATE_IBOR_INFO_2]
SET [Data] = @Data
WHERE [GL_DT] = @GL_DT
AND [SRC_SYS_ID] = @SRC_SYS_ID
AND [MLR_SRC_SYS_CD] = @MLR_SRC_SYS_CD
AND [TRSRY_FEED_DT] = @TRSRY_FEED_DT
END
END
GO