Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL Update alle Einträge (https://www.delphipraxis.net/152394-sql-update-alle-eintraege.html)

ibp 21. Jun 2010 13:23

AW: SQL Update alle Einträge
 
Zitat:

Zitat von DeddyH (Beitrag 1030619)
Er meint je zu aktualisierendem Datensatz ein Datensatz aus der Subquery. Im Moment kommen in Letzterer noch mehrere, da musst Du die Kriterien anpassen, damit nur der eine passende kommt.

ja aber es soll ja nicht einer sein, sondern alle die der Verknüpfung etsprechen!

DeddyH 21. Jun 2010 13:24

AW: SQL Update alle Einträge
 
Ja, die Du updaten willst. Das geht mit der Subquery aber nur, wenn diese genau einen Datensatz liefert.

mkinzler 21. Jun 2010 13:31

AW: SQL Update alle Einträge
 
Der SubQuery wird ja einmal pro Datensatz ausgeführt, und muss dann das Ergebnis für diesen Datensatz liefern

ibp 21. Jun 2010 13:33

AW: SQL Update alle Einträge
 
Zitat:

Zitat von DeddyH (Beitrag 1030624)
Ja, die Du updaten willst. Das geht mit der Subquery aber nur, wenn diese genau einen Datensatz liefert.

dann geht es nicht was ich will...muss ich mich wohl doch in psql einarbeiten....

ibp 21. Jun 2010 13:37

AW: SQL Update alle Einträge
 
Zitat:

Zitat von mkinzler (Beitrag 1030630)
Der SubQuery wird ja einmal pro Datensatz ausgeführt, und muss dann das Ergebnis für diesen Datensatz liefern

wie komme ich dann an den key ran für den Datensatz für den gerade das update läuft?

mkinzler 21. Jun 2010 13:44

AW: SQL Update alle Einträge
 
Z.B. wenn du ein Alias setzt
SQL-Code:
UPDATE Tab1 t
SET t.sortstr = (
  SELECT t2.<Feld aus Tab2>
  FROM Tab2 t2
  WHERE t2.pkey = t.reckey);

DeddyH 21. Jun 2010 13:49

AW: SQL Update alle Einträge
 
Und das ist jetzt fast genau wieder mein Statement aus #5, nur mit Alias und umgedrehten Tabellen :mrgreen:

ibp 21. Jun 2010 14:42

AW: SQL Update alle Einträge
 
Zitat:

Zitat von mkinzler (Beitrag 1030641)
Z.B. wenn du ein Alias setzt
SQL-Code:
UPDATE Tab1 t
SET t.sortstr = (
  SELECT t2.<Feld aus Tab2>
  FROM Tab2 t2
  WHERE t2.pkey = t.reckey);

:wall:

ja danke so klappt es....

ibp 21. Jun 2010 16:32

AW: SQL Update alle Einträge
 
das ist leider zu langsam.....

Gibt es eine Möglichkeit die ganze Ergebnismenge des Select-Statements auf einmal in eine vor selektierte Zieltabelle zu schreiben?

alex517 21. Jun 2010 18:35

AW: SQL Update alle Einträge
 
Hi,

ab Firebird 2.1 gibt es dafür
SQL-Code:
MERGE INTO ..
aber ob Interbase 6.5 das kann weis ich nicht.

alex

Edit:
[OffTopic]
kann mir jemand sagen wo ich die SQL-Tags finde?
[/OffTopic]


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz