RequestLive=true, Tabelle ist schreibgeschützt.



  • Hallo zusammen!
    Kennt jemand ob eine Möglichkeit besteht ein Select aus mehreren Tabelle zu editieren? Als IDE verwende ich Borland C++ Builder 6 Prof. mit der Datenbank oracle.

    SELECT TABELLE1.*, TABELLE2.NAME 
    FROM  TABELLE1, TABELLE2
    WHERE TABELLE1.NAME = TABELLE2.NAME
    

    Zum testen verwende ich die Komponente TQuery aber sobald ich die Eigenschaft RequestLive auf true setze sagt mir das System: Tabelle ist schreibgeschützt.

    Ich bin für alle Vorschläge offen 😉



  • Hallo

    Mit den normalen Komponenten jedenfalls nicht. Ich kenne auch keine externen Komponenten die soetwas können. Dir bleibt also nichts anderes übrig als das Editieren komplett manuell durchzuführen, und die entsprechende UPDATE-Anweisung selber zusammenzustellen und auszuführen.

    bis bald
    akari



  • Hi akari,
    das habe ich mir schon fast gedacht. Ich werde mir ein Paar Gedanken dazu machen.
    Danke und einen schönen Tag noch 😉



  • Ist das SQL-Beispiel bereits die richtige Anfrage? Wenn ja brauchst Du ja Tabelle 2 nicht. Willst Du nur den Inhalt aus Tabelle 1 bearbeiten? Wenn ja kannst Du ja nur Tabelle 1 verwenden und die Felder der Tabelle 2 über Lookupfelder realisieren. Eine weitere Möglichkeit wäre das Verwenden von Views.



  • Ich habe nochmal in das 11.1 er Oracle Database SQL Language Reference geschaut, wenn Du eine View verwenden willst kann diese selbst nur eine Tabelle aktualisieren:

    If you want a join view to be updatable, then all of the following conditions must be true:

    The DML statement must affect only one table underlying the join.
    *

    For an INSERT statement, the view must not be created WITH CHECK OPTION, and all columns into which values are inserted must come from a key-preserved table. A key-preserved table is one for which every primary key or unique key value in the base table is also unique in the join view.
    *

    For an UPDATE statement, the view must not be created WITH CHECK OPTION, and all columns updated must be extracted from a key-preserved table.

    Oder halt ein DB-Trigger schreiben wenn Du es nicht ausprogrammieren willst.



  • Hi witte,
    mein SQL ist natürlich nur ein Beispiel. Ich werde versuchen das selber aus zu programmieren, daher kommt dein Hinweis gerade gelegen 🙂


Anmelden zum Antworten