je dois écrire une seule déclaration pour insérer ou mettre à jour un enregistrement dans une seule table d'enregistrementdéclaration de fusion sur une table d'enregistrement unique
la déclaration de fusion me permet d'écrire ceci:
create table t1 (n int)
-- insert into t1 (n) Values (1); -- uncomment to test the matched branch
MERGE t1 AS P
USING (SELECT 3 AS n) AS S
ON 1 = 1
WHEN MATCHED THEN
UPDATE SET n = S.n
WHEN NOT MATCHED THEN
INSERT (n)
VALUES (S.n);
select * from t1
ce travail , mais je pense que le but de la condition 1 = 1 n'est pas très facile à comprendre. Existe-t-il une syntaxe différente pour insérer un enregistrement lorsque la table est vide ou mettre à jour l'enregistrement lorsqu'il existe déjà?
Je suis d'accord. C'est plus lisible aussi. Je me demandais juste à propos de la syntaxe MERGE ... – sergiom