<p>Hallo</p>
<p>Ich habe folgendes Problem: Ich habe 2 Tabellen, um Adressen abzulegen. Zum
einen den Adresskopf (ID, MATCHCODE) und zum anderen Anschriften (ID,
AdresskopfID, Name, Strasse ... LI_ANSCHRIFT, RE_ANSCHRIFT), in der ich zu jedem
Adresskopf n Anschriften anlegen kann. In der Anschriftentabelle kann ich dann
bestimmen, welche Anschrift Rechnungsanschrift (RE_ANSCHRIFT Ja/Nein) und welche
Anschrift Lieferanschrift (LI_ANSCHRIFT Ja/Nein) sein soll. <br>
Nun soll es aber so sein, das pro Adresskopf min. und max. eine Anschrift
Lieferanschrift/Rechnungsanschrift sein darf/muss. Anders gesagt es soll nicht
möglich sein, das 2 Anschriften pro Adresskopf Lieferanschrift sind und es keine
Rechnungsanschrift gibt. Soviel zur Theorie!</p>
<p>Wie realisiere ich das nun in InterBase? Sicher über Trigger. Denn einen
Index kann ich nicht nehmen. Es kann ja sein, das es 5 Anschriften zu einem
Adresskopf gibt und davon sind dann 4 KEINE LI_/RE_Anschrift.</p>
<p>Bsp.: Adresse 1 ist Li_Anschrift. Benutzer wählt Adresse 2 und
sagt diese soll Li_Anschrift werden. Jetzt könnte man via Trigger sagen: </p>
<p><b>if new</b>.LI_ANSCHRIFT='<font color="#0000FF">Ja</font>' <b>then</b> <br>
<b>update</b> Anschriften <b>set</b> LI_ANSCHRIFT='<font color="#0000FF">Nein</font>'
<b>where</b> AdresskopfID=<b>new</b>.AdresskopfID <b>and</b> ID<><b>new</b>.ID;</p>
<p>Um alle anderen Anschriften auf Li_Anschrift='<font color="#0000FF">Nein</font>'
zu setzen. Aber was ist wenn der Benutzer Adresse 1 wählt (diese ist
Li_Anschrift) und entfernt den Haken für Li_Anschrift?</p>
<p>Das ganze soll wenn möglich nur auf Serverseite realisiert werden.</p>
<p>Bin für jeden Hinweis dankbar.</p>
<p>M.Pannier</p>
<p>Ich habe folgendes Problem: Ich habe 2 Tabellen, um Adressen abzulegen. Zum
einen den Adresskopf (ID, MATCHCODE) und zum anderen Anschriften (ID,
AdresskopfID, Name, Strasse ... LI_ANSCHRIFT, RE_ANSCHRIFT), in der ich zu jedem
Adresskopf n Anschriften anlegen kann. In der Anschriftentabelle kann ich dann
bestimmen, welche Anschrift Rechnungsanschrift (RE_ANSCHRIFT Ja/Nein) und welche
Anschrift Lieferanschrift (LI_ANSCHRIFT Ja/Nein) sein soll. <br>
Nun soll es aber so sein, das pro Adresskopf min. und max. eine Anschrift
Lieferanschrift/Rechnungsanschrift sein darf/muss. Anders gesagt es soll nicht
möglich sein, das 2 Anschriften pro Adresskopf Lieferanschrift sind und es keine
Rechnungsanschrift gibt. Soviel zur Theorie!</p>
<p>Wie realisiere ich das nun in InterBase? Sicher über Trigger. Denn einen
Index kann ich nicht nehmen. Es kann ja sein, das es 5 Anschriften zu einem
Adresskopf gibt und davon sind dann 4 KEINE LI_/RE_Anschrift.</p>
<p>Bsp.: Adresse 1 ist Li_Anschrift. Benutzer wählt Adresse 2 und
sagt diese soll Li_Anschrift werden. Jetzt könnte man via Trigger sagen: </p>
<p><b>if new</b>.LI_ANSCHRIFT='<font color="#0000FF">Ja</font>' <b>then</b> <br>
<b>update</b> Anschriften <b>set</b> LI_ANSCHRIFT='<font color="#0000FF">Nein</font>'
<b>where</b> AdresskopfID=<b>new</b>.AdresskopfID <b>and</b> ID<><b>new</b>.ID;</p>
<p>Um alle anderen Anschriften auf Li_Anschrift='<font color="#0000FF">Nein</font>'
zu setzen. Aber was ist wenn der Benutzer Adresse 1 wählt (diese ist
Li_Anschrift) und entfernt den Haken für Li_Anschrift?</p>
<p>Das ganze soll wenn möglich nur auf Serverseite realisiert werden.</p>
<p>Bin für jeden Hinweis dankbar.</p>
<p>M.Pannier</p>
Comment