![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: SQL
Wie lautet die Datensatznummer einer Paradox-Tabelle in SQL?
Hallo,
ich will über den Borland Datenbank-Explorer per SQL-Befehl Daten aus einer Quell- in eine Zieltabelle schreiben. Beides sind Paradox-Tabellen. Ich will dabei Datensatz für Datensatz abarbeiten.
SQL-Code:
Es gibt aber immer eine Fehlermeldung "Ungültiger Feldname id".
UPDATE Zieltabelle
SET ANr = (SELECT BNr FROM Quelltabelle WHERE Zieltabelle.ID = Quelltabelle.id); Weiß jemand, wie ich die Datensatznummer richtig in den SQL-Befehl schreiben muss? |
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
In SQL würde ich das über den Primärschlüssel machen.Ob man auf die Datensatznummer per SQL zugreifen kann (wenn sie als solches überhaupt in der DB existiert) kann ich nicht sagen.
|
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
Zitat:
Zum Vergleich, welche Datensätze übertragen werden sollen, benötigst Du deshalb eine ID (genauer: einen kompatiblen PrimaryKey) innerhalb von Quell- und von Zieltabelle. Wenn ich mich recht erinnere, unterscheidet Paradox auch noch Groß- und Kleinschreibung bei Feldnamen. Vielleicht liegt darin der Fehler. Wenn Du die Datensätze sowieso einzeln bearbeiten willst (warum eigentlich?), bringt der Zugriff über SQL möglicherweise keine Vorteile. Arbeitest Du mit der BDE? Dann könntest Du zur Beschleunigung einen Filter auf die Quelltabelle setzen. Für genauere Tipps bitte ich um genauere Hinweise (Tabellendefinition mit Indizes, Auswahl der Datensätze, die übertragen werden sollen). Aber vielleicht reichen diese Hinweise. Jürgen |
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
Hallo Barny,
jetzt versuche ich mich auch nochmal... Zitat:
Ich will noch auf etwas anderes hinaus... Gibt es in der Quelltabelle immer nur eine Zeile pro ID? (ist ID also ein Primarykey?) Wenn die Unterabfrage mehrere Zeilen liefert kann das auch nicht gehen. Also vielleicht so...
SQL-Code:
MIN oder auch MAX.
UPDATE Zieltabelle
SET ANr = (SELECT MIN(BNr) FROM Quelltabelle WHERE id = Zieltabelle.id); Gruss Thorsten |
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
An mkinzler,
vielen Dank für den Vorschlag. Leider unterscheiden sich die Primärschlüssel der Tabellen. In der Zieltabelle haben wir einen zusammengesetzten Schlüssel aus 4 Feldern, in der Quelltabelle einen ganz einfachen AUTOINCREMENT-Schlüssel. Da diese unterschiedlich sind, kann ich die Datensätze nicht über die Primärschlüssel ansprechen. |
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
An Jürgen Thomas
Vielen Dank für deine Antwort. Zitat:
Zitat:
|
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
Gibt et außer der Position ein anderes Kriterium, wie du die Dummytabelle zuordnen kannst?
|
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
An mkinzler
Ich habe leider kein anderes eindeutiges Kriterium gefunden. |
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
Hallo,
Zitat:
mfg wo |
Re: Wie lautet die Datensatznummer einer Paradox-Tabelle in
Zitat:
Zitat:
1. Lies alle gewünschte Daten aus der Quelltabelle in eine Temp-Tabelle (je nachdem, welche Utilities Du sonst verwendest, z.B. eine in-Memory-Table). 2. Erweitere diese Tabelle um eine ID. Füge jedem Datensatz eine laufende Nummer als ID hinzu. Damit kannst Du einen Update-Befehl ähnlich Deinem ersten Versuch erledigen. Alternative: 1. Alle Daten aus der Quelltabelle in die Zieltabelle kopieren. 2. Mit einer Programm-Prozedur kannst Du in einer Schleife (First/Next/EOF) ebenso eine ID simulieren und jeden Datensatz einzeln verknüpfen. Zusatzvorschlag: Erzeuge mehrere Zufallszahlen RandomVorname, RandomNachname, RandomStrasse usw. Mit RandomVorname holst Du aus der Dummy-Tabelle einen zufälligen Vornamen usw. Damit kannst Du viel mehr Testdaten erzeugen, als Datensätze in der Arbeitsdatei und in der Dummy-Tabelle enthalten sind. Vielleicht hilft Dir das. Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz