Редактор строк с данными Primefaces: разрешить редактирование только одной строки

Я часто использовал Bacon Bits отличный ответ, поскольку я просто не могу запомнить синтаксис.

Но я обычно добавляю CTE в качестве дополнения, чтобы сделать часть DELETE более полезной, потому что очень часто вы захотите применить слияние только к части целевой таблицы.

WITH target as (
    SELECT * FROM dbo.energydate WHERE DateTime > GETDATE()
)
MERGE INTO target WITH (HOLDLOCK)
USING dbo.temp_energydata AS source
    ON target.webmeterID = source.webmeterID
    AND target.DateTime = source.DateTime
WHEN MATCHED THEN 
    UPDATE SET target.kWh = source.kWh
WHEN NOT MATCHED BY TARGET THEN
    INSERT (webmeterID, DateTime, kWh)
    VALUES (source.webmeterID, source.DateTime, source.kWh)
WHEN NOT MATCHED BY SOURCE THEN
    DELETE
16
задан Cœur 12 August 2017 в 08:10
поделиться