SQL Update 2er Tabellen mit FK Beziehungen

Hallo zusammen

habe 2 Tabellen im MSSQL Server
Tabelle users: username PK, passwd, usw.
Tabelle user_location: username PRIMARY KEY, + weitere, FOREIGN KEY(username) REFERENCES users.

Möchte mit .Net in beiden Tabellen den Usernamen updaten.
Egal welches Update ich zuerst ausführe, kommt immer die eine Foreign Key Fehlermeldung.

Kann ich das mit SQL Überhaupt realisieren?
Denn ich kann mit Update ja immer nur eine TAbelle ansprechen.
Geht da mit Views evtl. was ?

Danke
Stefan

Hallo Stefan,

die einfachste Lösung: du erweiterst den Constraint mit ON UPDATE CASCADE. Dann kannst Du einfach die führende Tabelle ändern und die abhängige geht automatisch mit.

Alternativ:

Du musst den Datensatz zwischenspeichern. In die führende Tabelle den Datensatz mit geändertem Schlüssel mit einem INSERT eintragen, danach den abhängigen Datensatz ändern mit UPDATE und schließlich den alten Datensatz der führenden Tabelle löschen mit DELETE.

Gruß

Peter

Moien

Kann ich das mit SQL Überhaupt realisieren?

Klar (implementiert MySQL den Teil von SQL inzwischen ?): FOREIGN KEY(username) REFERENCES users INITIALLY DEFERRED

und dann alle Aktionen in einen BEGIN … COMMIT-Block packen.

cu