Thema: Delphi SQL: Set of Integer?

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: SQL: Set of Integer?

  Alt 26. Mai 2006, 16:16
Mit konkreten Beispielen geht das immer sehr gut:

Tabelle Bildattribute

ID # Attribut
--------------------
0 # 10,50,67
1 # 46,56,67,10


So nicht, aber so:

ID Attribut
-----------
0 10
0 50
0 67
1 46
1 56
1 67
1 10

Bei einem Update, also wenn Du die Attribute verändern willst, löschst Du einfach alle Attribute der Bild ID und fügst hinterher alle ein. Das geht am einfachsten, wenn du dir ein SQL-Skript zusammenbastelst.

Nehmen wir an, Du willst dem Bild #1 jetzt die Attribute 5,7 und 9 verpassen. Dann sieht das Skript so aus:
SQL-Code:
Delete from BildAttribute Where ID = 1
insert into BildAttribute
  select 1,5 union
  select 1,7 union
  select 1,9
Denk dran, bei vielen Bildern ein Index auf die ID und einen Index auf das Attribut der Tabelle 'BildAttribute' zu legen. Dann geht das Eins-Fix-Drei!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat