Maison  >  Article  >  fusionner avec l'usage

fusionner avec l'usage

(*-*)浩
(*-*)浩original
2019-06-26 10:41:2116628parcourir

Pour faire simple, il s'agit de déterminer s'il y a des données dans la table qui répondent à la condition on(), de mettre à jour les données si c'est le cas et d'insérer les données si ce n'est pas le cas.

fusionner avec l'usage

Il y a une table T avec deux champs a et b Nous voulons faire Insérer/Mettre à jour dans la table T. Si les conditions sont remplies, puis mettez à jour la valeur de b dans T, sinon insérez un enregistrement dans T. Dans la syntaxe SQL de Microsoft, une simple phrase suffit. La syntaxe dans SQL Server est la suivante : (Apprentissage recommandé : Tutoriel vidéo MySQL) 

if exists(select 1 from T where T.a='1001' )
update T set T.b=2 Where T.a='1001'
else
insert into T(a,b) values('1001',2);

Mais c'est évident Cette syntaxe ne peut modifier qu'une seule instruction pour SQL, et Oracle ne peut pas l'utiliser. Il existe donc la syntaxe Merge into (fonction introduite par Oracle 9i)

merge into 目标表 a
 
using 源表 b
 
on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……)  
 
when matched then update set a.更新字段=b.字段
 
when  not matched then insert into a(字段1,字段2……)values(值1,值2……)

" dans une fusion qui a à la fois la syntaxe Insert et Update. Dans l'instruction, le nombre total d'enregistrements Insert/Update correspond au nombre d'enregistrements dans la « table source » dans l'instruction Using.

La table source b peut être une table avec une structure de table différente de a, il peut s'agir d'une table temporaire avec la même structure de table, ou il peut s'agir de données que nous avons nous-mêmes assemblées

. Pour plus d'articles techniques liés à MySQL, veuillez visiter la colonne Tutoriel graphique de base de données MySQL pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn