Heim >häufiges Problem >in die Nutzung übergehen

in die Nutzung übergehen

(*-*)浩
(*-*)浩Original
2019-06-26 10:41:2116658Durchsuche

Einfach ausgedrückt geht es darum, festzustellen, ob Daten in der Tabelle vorhanden sind, die die on()-Bedingung erfüllen, die Daten zu aktualisieren, wenn dies der Fall ist, und die Daten einzufügen, wenn dies nicht der Fall ist.

in die Nutzung übergehen

Es gibt eine Tabelle T mit zwei Feldern a und b. Wir möchten Einfügen/Aktualisieren in Tabelle T durchführen. Wenn die Bedingungen erfüllt sind, Aktualisieren Sie dann den Wert von b in T, andernfalls fügen Sie einen Datensatz in T ein. In der SQL-Syntax von Microsoft reicht ein einfacher Satz aus. Die Syntax in SQL Server lautet wie folgt: (Empfohlenes Lernen: MySQL-Video-Tutorial) 

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);

Aber es ist offensichtlich Diese Syntax kann nur eine Anweisung für SQL ändern und Oracle kann sie nicht verwenden. Es gibt also die Syntax „Merge into“ (von Oracle 9i eingeführt) „

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……)

“ in einer Merge-Anweisung, die sowohl über die Syntax „Einfügen“ als auch „Aktualisieren“ verfügt. In der Anweisung entspricht die Gesamtzahl der Insert/Update-Datensätze der Anzahl der Datensätze in der „Quelltabelle“ in der Using-Anweisung.

Quelltabelle b kann eine Tabelle mit einer anderen Tabellenstruktur als a sein, es kann eine temporäre Tabelle mit derselben Tabellenstruktur sein oder es können Daten sein, die wir selbst zusammengestellt haben

Weitere technische Artikel zum Thema MySQL finden Sie in der Spalte MySQL Database Graphic Tutorial.

Das obige ist der detaillierte Inhalt vonin die Nutzung übergehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn