Heim Datenbank MySQL-Tutorial SQL Server 2012 中 Update FROM子句

SQL Server 2012 中 Update FROM子句

Jun 07, 2016 pm 05:39 PM
from server update

首先说明一下需求以及环境 创建Table1以及Table2两张表,并插入一下数据 USE AdventureWorks2012 ; GO GO GO decimal GO NOT GO 1 , 20.0 ),( 2 , 30.0 ); 1 , 0.1 ),( 2 , 0.2 ); 如何通过一个update语句直接使Table2得到以下结果(仅是奇葩业务需求,请勿

首先说明一下需求以及环境

创建Table1以及Table2两张表,并插入一下数据

USE AdventureWorks2012;

GO

GO

GO

decimal

GO

NOT

GO

1, 20.0),(2, 30.0);

1, 0.1),(2, 0.2);

如何通过一个update语句直接使Table2得到以下结果(仅是奇葩业务需求,请勿吐槽)

可以看出请产生的结果集如使用SELECT 仅需使用简单INNER JOIN来获得

SELECT dbo.Table2.ColA,

dbo.Table2.ColB

FROM dbo.Table2

ON (dbo.Table2.ColA = dbo.Table1.ColA);

而对于SQL Server 因为UPDATE 具有From子句 可以写出如下语句,但强烈不建议使用的此方法来进行

UPDATE dbo.Table2

SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB

FROM dbo.Table2

ON (dbo.Table2.ColA = dbo.Table1.ColA);

官方解释如下

Use caution when specifying the FROM clause to provide the criteria for the update operation. The results of an UPDATE statement are undefined if the statement includes a FROM clause that is not specified in such a way that only one value is available for each column occurrence that is updated, that is if the UPDATE statement is not deterministic.

指定 FROM 子句为更新操作提供条件时务须小心。 如果 UPDATE 语句包含了未指定每个更新列的位置只有一个可用值的 FROM 子句(换句话说,,如果 UPDATE 语句是不确定性的),则其结果将不明确。

Support for use of the READUNCOMMITTED and NOLOCK hints in the FROM clause that apply to the target table of an UPDATE or DELETE statement will be removed in a future version of SQL Server. Avoid using these hints in this context in new development work, and plan to modify applications that currently use them.

在 SQL Server 的未来版本中,将不再支持在 FROM 子句中使用应用于 UPDATE 或 DELETE 语句目标表的 READUNCOMMITTED 和 NOLOCK 提示。 请避免在新的开发工作上下文中使用这些提示,并计划修改当前使用它们的应用程序。

 

个人建议使用MERGE来实现此项功能

    AS source (ColA,COlB)

ON (target.ColA = source.ColA)

WHEN MATCHED

= target.ColB + source.ColB

;

有兴趣的同学可以将Table1的数据更改如以下

TRUNCATE TABLE table1;

2, 10.0), (1, 20.0),(1, 40.0),(2, 30.0);

 

使用Update后Table2的结果(注意这是一个未确定性的结果集,不代表可以运行处结果结果一定是正确的)

使用MERGE是结果,这个错误信息很好的阐述的这个错误的原因

Msg 8672, Level 16, State 1, Line 1

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Fix: Die Aktualisierungsprüfung von Google Chrome ist mit dem Fehlercode 3: 0x80040154 fehlgeschlagen Fix: Die Aktualisierungsprüfung von Google Chrome ist mit dem Fehlercode 3: 0x80040154 fehlgeschlagen Apr 13, 2023 pm 05:46 PM

Google Chrome ist einer der beliebtesten Browser der Welt und viele Benutzer bevorzugen es, ihn als Standardbrowser auf ihren Windows-PCs zu verwenden. Chrome bietet eine breite Palette an Funktionen, die das Surferlebnis angenehm und mühelos machen, und ist daher nach wie vor einer der vertrauenswürdigsten Browser. Aber wie jeder andere Browser hat auch Chrome seine eigenen Mängel und ist gleichermaßen anfällig für Fehler und Störungen, wenn Sie ihn am meisten brauchen. Ein solcher Fehler ist Fehlercode 3: 0x80040154, der bei der Suche nach Google Chrome-Updates auftritt. Die Fehlermeldung lautet „Beim Suchen nach Updates ist ein Fehler aufgetreten. Die Update-Prüfung konnte nicht gestartet werden (Fehlercode 3: 0x80080005) oder (Fehler

So aktivieren/deaktivieren Sie automatische VS-Code-Updates So aktivieren/deaktivieren Sie automatische VS-Code-Updates Apr 28, 2023 am 09:28 AM

Wenn Sie Visual Studio Code (VSCode) verwenden und darüber nachdenken, wie Sie die automatischen Software-Updates und die automatischen Updates seiner Erweiterungen deaktivieren können, lesen Sie diesen Artikel. Wenn Sie VSCode nicht oft verwenden, den Editor nach längerer Zeit öffnen und automatische Updates aktivieren möchten, wird Ihnen dieser Artikel auch dabei helfen. Lassen Sie uns die verschiedenen Möglichkeiten zum Aktivieren oder Deaktivieren automatischer VSCode-Updates im Detail besprechen. Inhaltsverzeichnis Methode 1: Verwenden Sie die Einstellungen, um automatische VSCode-Updates zu aktivieren/deaktivieren. Schritt 1: Öffnen Sie VS Code und klicken Sie auf das zahnradförmige Symbol in der unteren linken Ecke. Schritt 2: Klicken Sie in der angezeigten Liste auf Einstellungen. Schritt 3: Geben Sie update in die Suchleiste ein und drücken Sie die Eingabetaste. Updates finden: Muster 4

Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Anleitung zum Installieren, Deinstallieren und Zurücksetzen des Windows-Server-Backups Mar 06, 2024 am 10:37 AM

WindowsServerBackup ist eine Funktion des WindowsServer-Betriebssystems, die Benutzern dabei helfen soll, wichtige Daten und Systemkonfigurationen zu schützen und vollständige Sicherungs- und Wiederherstellungslösungen für kleine, mittlere und große Unternehmen bereitzustellen. Nur Benutzer, die Server2022 und höher ausführen, können diese Funktion nutzen. In diesem Artikel erklären wir, wie Sie WindowsServerBackup installieren, deinstallieren oder zurücksetzen. So setzen Sie die Windows Server-Sicherung zurück: Wenn Sie Probleme mit der Sicherung Ihres Servers haben, die Sicherung zu lange dauert oder Sie nicht auf gespeicherte Dateien zugreifen können, können Sie die Sicherungseinstellungen Ihres Windows Servers zurücksetzen. Um Windows zurückzusetzen

KDE Plasma 6.1 bringt viele Verbesserungen für den beliebten Linux-Desktop KDE Plasma 6.1 bringt viele Verbesserungen für den beliebten Linux-Desktop Jun 23, 2024 am 07:54 AM

Nach mehreren Vorabversionen stellte das KDE Plasma-Entwicklungsteam am 28. Februar Version 6.0 seiner Desktop-Umgebung für Linux- und BSD-Systeme vor und nutzte dabei erstmals das Qt6-Framework. KDE Plasma 6.1 verfügt jetzt über eine Reihe neuer Funktionen

Lösung für hohe CPU-Auslastung der Microsoft-Kompatibilitätstelemetrie Lösung für hohe CPU-Auslastung der Microsoft-Kompatibilitätstelemetrie Mar 16, 2024 pm 10:16 PM

Wenn wir das Win10-System verwenden, kommt es manchmal vor, dass der Computer hängen bleibt. Wenn wir dann den Hintergrundprozess überprüfen, stellen wir fest, dass ein Microsoft-Kompatibilitätstelemetrieprozess besonders viele Ressourcen beansprucht. Benutzer können versuchen, die Schutzsoftware von Drittanbietern zu deinstallieren und dann einen sauberen Neustart durchzuführen. Lassen Sie diese Website den Benutzern die Lösung für die hohe CPU-Auslastung von Microsoftcompatibilitytelemetry sorgfältig vorstellen. Lösung für die hohe CPU-Auslastung von Microsoftcompatibilitytelemetry Methode 1: Versuchen Sie es nach der Deinstallation der Schutzsoftware des Drittanbieters

So verwenden Sie die UPDATE-Anweisung in SQL So verwenden Sie die UPDATE-Anweisung in SQL Jun 02, 2023 pm 09:13 PM

SQLUPDATE-Anweisung Die Update-Anweisung wird zum Ändern der Daten in der Tabelle verwendet. Die Syntax lautet wie folgt: UPDATE Tabellenname SET Spaltenname = neuer Wert WHERE Spaltenname = bestimmter Wert „Person“-Tabelle: LastNameFirstNameAddressCityGatesBillXuanwumen10BeijingWilsonChamps-Elysees Eine Spalte in einer bestimmten Zeile aktualisieren UPDATEPerson SETFirstName="Fred" WHERELastName="Wilson" Ergebnis: LastNa

Ausführliche Untersuchung der Nutzungsdetails von UPDATE in MySQL Ausführliche Untersuchung der Nutzungsdetails von UPDATE in MySQL Oct 11, 2022 pm 07:32 PM

In MySQL können Sie die UPDATE-Anweisung verwenden, um Daten in einer oder mehreren Tabellen zu ändern und zu aktualisieren. Der folgende Artikel wird Ihnen dabei helfen, die Details der Verwendung von UPDATE in MySQL zu erkunden. Ich hoffe, er ist hilfreich für Sie.

Vorschauversion von Windows Server 2025 begrüßt Update, Microsoft verbessert Insiders-Testerlebnis Vorschauversion von Windows Server 2025 begrüßt Update, Microsoft verbessert Insiders-Testerlebnis Feb 19, 2024 pm 02:36 PM

Anlässlich der Veröffentlichung der Build 26040-Version von Windows Server gab Microsoft den offiziellen Namen des Produkts bekannt: Windows Server 2025. Außerdem wurde die Windows11WindowsInsiderCanaryChannel-Version build26040 eingeführt. Einige Freunde erinnern sich vielleicht noch daran, dass vor vielen Jahren jemand Windows NT erfolgreich vom Workstation-Modus in den Server-Modus umgestellt hat und dabei die Gemeinsamkeiten verschiedener Versionen von Microsoft-Betriebssystemen aufgezeigt hat. Zwar gibt es deutliche Unterschiede zwischen Microsofts aktueller Version des Server-Betriebssystems und Windows 11, doch wer auf die Details achtet, dürfte neugierig sein: Warum Windows Server die Marke aktualisiert hat,

See all articles