Einzelnen Beitrag anzeigen

ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#1

Foreign Key: Herausfinden wieviele childs es gibt

  Alt 16. Nov 2014, 17:51
Datenbank: SQLite • Version: 3.8.x • Zugriff über: FireDAC
Moin

Ich habe eine SQLite DB die etwa diese Struktur hat:

Code:
CREATE TABLE album(
  albumartist TEXT,
  albumname TEXT,
  albumcover BINARY,
  PRIMARY KEY(albumartist, albumname)
);

CREATE TABLE song(
  songid    INTEGER,
  songartist TEXT,
  songalbum TEXT,
  songname  TEXT,
  FOREIGN KEY(songartist, songalbum) REFERENCES album(albumartist, albumname)
);
Code dreißt geklaut von hier!

Jetzt tritt der Fall auf, das ich mit FDQuery1.Delete; einen Datensatz lösche (hier im Bsp. einen Song) und es im "schlimmsten" Fall dazu kommt, dass für einen Datensatz im Parent-Table (hier im Bsp. ein Album) keine Childs (Songs) mehr existieren. Dann möchte ich den Datensatz (Album) löschen, da er keine Childs mehr hat:

Geht das auch mit "Bordmitteln" oder muss ich da SQL-Befehle verwenden? Habe bis jetzt noch keine Möglichkeit gefunden, die Anzahl der Childs zu ermitteln.

Entschuldigt bitte meinen begrenzten Wortschatz, ich beschäftige mich erst seit neustem mit SQLite/FireDAC/SQL

Gruß,
Lukas
Lukas
  Mit Zitat antworten Zitat