Michael Schröpl: Mehrere Datenbank Aktionen...

Beitrag lesen

Hi Tobi,

Nein, habe ich nicht, da DS_ID der Primaerschluessel ist, der per autoincrement (!!! ;oD) automatisch generiert wird! (Genauso, wie alle anderen IDs)

dann hast Du Dir Dein Problem selbst gemacht.

Aha. Transaktion, habe ich schon mal gehoert.....was sind Transaktionen? So eine Art Koppelung mehrerer Aktionen, z.B. Inserts?

Ja. Eine transaktionsfähige Datenbank kann eine Liste von Statements erst mal "versuchsweise" ausführen, und erst wenn alles funktioniert hat, tritt die Gesamtheit "in Kraft", wird also für andere Anwendungen sichtbar. (Das funktioniert intern mit einem separaten Log pro Transaktion, welches dem RDBMS erlaubt, Operationen auch wieder rückgängig zu machen.)

Geht das mit M$ Access?

Hm ... ich möchte es fast bezweifeln, aber ... RTFM.

Bin - wie gesagt - neu auf dem Gebiet, muss dazu wohl mal googeln.

Genau deshalb habe ich Dir den Suchbegriff geliefert. ;-)

DS_ID, RL_ID und POC_ID sind Primaerschluessel (ja mit autoincrement - war Deine Anmerkung jetzt ironisch oder ist das nicht gut?)

Ich mag keine autoincrements. Sie hindern mich daran, mit einer Tabelle viele Dinge zu tun, die ich gerne tun können will.
Für mich sind Relationen Mengen ... und ich kann nun mal nicht eine Teilmenge aus einer Deiner Tabellen in eine temporäre Tabelle kopieren, etwas darin ändern (z. B. einen "Klon" herstellen) und das Ergebnis zurück kopieren, weil mich genau daran die autoincrement-Spalte hindert, in die man keine Werte explizit einfügen kann. Ich kann dann kein INSERT INTO TABLE SELECT ... FROM klon im Dialog eingeben ... ich bin gezwungen, in einer 3GL eine Schleife zu programmieren.

Ausserdem sollen auch mehrere POCs einem Datensatz zugefuegt werden koennen.
Innerhalb eines SQL-Statements - nein.
Koennte ich da nicht ein Multi-Select Formfeld machen und dann ein Insert in einer Schleife?

Was Du auf der Ebene Deiner algorithmischen Sprache (3GL) tust, ist Deine Sache (Du kannst Deine Operation z. B. gegenüber ihrem Aufrufer als Funktion einschalen, d. h. Dein Datenmodell vor ihm verstecken) - gegenüber der SQL-Schnittstelle brauchst Du aber einzelne Statements.

-Was ist 3GL-API?

Eine 3GL ist eine Programmiersprache der 3. Generation, also etwas, wo Du einen Lösungsweg (Algorithmus) beschreibst. Bei SQL tust Du genau das nicht - Du beschreibst nur, welche Eigenschaften das Ergebnis haben soll ... wie das RDBMS das hinkriegt, ist seine Sache.

Und eine API ist ein application interface ... in Deinem Fall üblicherweise eine Definition von Funktionsaufrufen (in Deiner 3GL gibt es ja Funktionen als Ablaufträger), welche Dir erlauben, SQL in diese Sprache "einzubetten".

-Einen Array mit mehreren Datensaetzen in DB einfuegen? Das geht mit Access?

Auch da kann Dir ich nur wieder ein herzliches RTFM spendieren ... in Oracle geht es, beispielsweise.

Viele Grüße
      Michael

--
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)