sql >> Database >  >> RDS >> Sqlserver

Meerdere update-instructie in SQL Server MERGE

Let op:dit was geen antwoord op de OP-vraag, het was slechts een uitwerking van de MERGE-clausule.

Volgens MSDN , "Als er twee zijn WHEN MATCHED clausules, dan moet men een UPDATE . specificeren actie en men moet een DELETE specify opgeven actie".

WHEN MATCHED THEN <merge_matched>

Specificeert dat alle rijen van target_table die overeenkomen met de rijen die worden geretourneerd door ON <merge_search_condition> , en voldoen aan eventuele aanvullende zoekvoorwaarde, worden ofwel bijgewerkt of verwijderd volgens de -clausule. De MERGE statement mag maximaal twee WHEN MATCHED . hebben clausules.

Als er twee clausules zijn opgegeven, moet de eerste clausule vergezeld gaan van een AND <search_condition> clausule. Voor een bepaalde rij, de tweede WHEN MATCHED clausule wordt alleen toegepast als de eerste dat niet is. Als er twee zijn WHEN MATCHED clausules, dan moet men een UPDATE . specificeren actie en men moet een DELETE-actie specificeren.

Bron:MSDN

Ik hoop dat dit helpt.



  1. Proactieve SQL Server Health Checks, Deel 5:Wachtstatistieken

  2. Is het mogelijk om een ​​subquery te doen met Sequelize.js?

  3. Hoe kan ik het queryresultaat opsplitsen in afzonderlijke kolommen?

  4. datum/tijd Conversie tussen verschillende tijdzones