![]() |
Datenbank: Firebird • Version: 2.5.3 • Zugriff über: IBO
Daten in Untertabelle löschen
Hallo,
ich möchte Daten aus einer Untertabelle Datensätze löschen wozu es im der Haupttabelle keinen Eintrag mehr gibt. Hat jemand einen passenden SQL Befehl. |
AW: Daten in Untertabelle löschen
ungefähr so:
delete from where not exists (select ....) |
AW: Daten in Untertabelle löschen
Sind das denn keinen "richtigen" Fremdschlüssel in der Detailtabelle? Normalerweise ist das nicht so einfach möglich, es sei denn, die Löschregel heißt "SET NULL", dann muss man nur die löschen, wo der Fremdschlüssel NULL ist.
|
AW: Daten in Untertabelle löschen
Also das sind 2 Tabellen wo es in der Untertabelle keinen Fremd Schlüssel zu gibt, diesen will ich jetzt einfügen. Dabei habe ich festgestellt das es Daten in der Untertabelle gibt aber keinen Datensatz in der Haupttabelle. Die sind Müll und müssen weg.
|
AW: Daten in Untertabelle löschen
Versuch es mal so:
SQL-Code:
DELETE FROM
Detailtabelle WHERE FK-Feld NOT IN ( SELECT PK-Feld FROM Haupttabelle ) |
AW: Daten in Untertabelle löschen
Danke DeddyH hat bestens geklappt. Spart mir viel Arbeit. :hello:
|
AW: Daten in Untertabelle löschen
Anzumerken wäre noch, daß man entweder die Tabellen oder die DB-Anwendung so gestaltet, daß beim Löschen von Records in der Haupttabelle automatisch die zugehörigen Records der Sub-Tabelle gelöscht werden.
|
AW: Daten in Untertabelle löschen
Oder das Löschen nur/erst erlaubt wenn keine Detaildatensätze mehr existieren.
|
AW: Daten in Untertabelle löschen
Oder sowas Abartiges wie RI benutzt
|
AW: Daten in Untertabelle löschen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 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 by Thomas Breitkreuz