zwei Tabellen gleichzeitig aktualisieren


schutzgeist

Erfahrenes Mitglied
Hallo,

ist es möglich (evtl. auch direkt über Dreamweaver) einen Datensatz der sich aus zwei Tabellen zusammensetzen soll, gleichzeitig in zwei Tabellen einzufügen bzw. wenn er schon besteht zu aktualisieren?

Beispiel:

Tabelle 1
ID = 2
Kundennr = 123
Name = Hans Wurst

Tabelle 2
ID = 5
Kundennr = 123
IP = 192.168.2.1

Der Datensatz der zur Ausgabe benötigt wird ist:
Kundennr = 123, Name = Hans Wurst, IP = 192.168.2.1

Danke schonmal und schönes WE,
schutzgeist
 

Luzie

Erfahrenes Mitglied
Hallo

mit Dreamweaver wäre das zu umständlich. Das kannst Du knicken.
Solche Abfragen schreibt man in der Regel in eine gespeicherte Prozedur. Diese Prozedur kann man dann wie ein SQL-Statement behandeln.

In Klassik-ASP und Access würde ich in ASP eine Prozedur schreiben.

Du musst erst ein select-Statement aufrufen und schauen, ob die IDs oder die Kund-Nrn. schon vorhanden sind, wenn ja, (RecordCount >0 abfragen) dann setzt Du ein update, wenn nein, dann setzt Du eine Insert-Statement.

Nach Absenden des Formulars lässt Du die Prozedur ablaufen.

OT
Wirklich schönes neues Forum hier :)
 

schutzgeist

Erfahrenes Mitglied
Ich habe das ganze jetzt anders gelöst..

Auf der Betätigungsseite vom ersten Update habe ich jetzt noch ein Formular, das die benötigten Daten abfängt und per Javascript onload gleich nochmal aktualisiert, nur dieses mal in die andere Tabelle ;)

Nun habe ich aber schon wieder das nächste Problem..

Die neue Tabelle enthält IP Adressen, die ich in 4 Teile gesplittet haben.

z. B.
Feld 1 | Feld 2 | Feld 3 | Feld 4
192 | 168 | 2 | 1

Nun würde ich gerne eine komplette Liste von 0 - 255 ausgeben in der ich dann z.B. die schon vergebenen IPs einfärbe.. und genau da liegt mein Problem. Ich habe keine Ahnung, wie ich das abgleichen kann.. brauch ich eine Behelfstabelle mit 0 - 255 um Feld 4 abzugleichen?

Danke schonmal im voraus und ein schönes Wochenende,
schutzgeist
 

Luzie

Erfahrenes Mitglied
Hi

wenn Du MSSQL nutzt, funktioniert der Vergleich einfach über ein Hilfstabelle (CTE), wo man 0-255 Datensätzen temp. produziert. Dann vergleicht man diese Hilfstabelle mit der eigentliche Tabelle über einen left join. Wo freie Zahlen sind, gibt er NULL zurück. NULL kann man dann als Abfragekriterium, entweder direkt in der SQL oder in ASP nutzen.

In Access müsste ich selbst erst googeln. Da weiß ich es nicht. Am einfachsten ist es, man erstellt sich dort eine Tabelle mit 255 Sätzen.

Mit Sicherheit gibt es auch andere Lösungen.