[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    68

    Update bei Views?

    Hallo!

    Hier mal eine Frage:

    Ich habe einen View auf 2 Tabelle erstellt, die mit einem INNER Join verknüpft sind.
    Nun will ich gern ein Update auf diesen View machen aber das will nicht. Geht das generell nicht? Ein Kollege meinte, er hätte davon gelesen und es würde sich super für unsere Faktura machen, da somit das Update schneller gemacht werden könnte, als wenn die Tabellen ge-updatet werden würden.

    Hier die Source:


    create view test.testview as

    select * from gatdat.baskpfdp join gatdat.basposdp on kbb = Pbb
    and kgpnrw = pgpnrw and pgej = kgej;

    update test.testview set pstkz = '2' where
    kbb = 'DEB' and kgej = 'N'
    and kmndn = 692 and kgpnrw = '0028940' and pppos = 1

    Kann mir jemand weiterhelfen oder mir sagen, wo ich diesen Problem nachlesen kann?
    Ich nerve zwar, aber ich lerne!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ein Update kann bei der DB2/400 nicht auf Join's durchgeführt werden.
    Schneller wäre das auch nicht, da es ausschließlich auf die Zugriffswege der Tabelle (Schlüssel) beim Update ankommt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2006
    Beiträge
    68
    Klingt logisch...danke :-)
    Ich nerve zwar, aber ich lerne!

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo,

    ich muss mal wieder widersprechen!

    Ab Release V5R4M0 (evt. auch schon am Release V5R3M0 mit PTF) gibt es die Möglichkeit Instead Of-Trigger zu generieren.

    Diese Trigger sind speziell dafür ausgelegt, nicht updatefähige Views updatefähig zu machen.
    Instead Of (Anstatt) ist ein neuer Aktivierungszeitpunkt (wie BEFORE und AFTER), der jedoch nur in Verbindung mit SQL-Triggern angegeben werden kann. Im Gegensatz zu anderen Triggern, wird ein Instead-Of-Trigger nicht für eine physische Datei oder Tabelle registriert, sondern für eine SQL-View.
    DDS-beschriebene logische Dateien werden nicht unterstützt, da Instead-Of-Trigger nur von der neuen SQL-Query-Engine (SQE) bearbeitet werden. Die Auflösung von DDS-beschriebenen logischen Dateien kann jedoch nur über die klassiche Classic-Query-Engine (CQE) erfolgen.

    Wie bei allen anderen Triggern können Instead-Of-Trigger für die Ereignisse INSERT, UPDATE und DELETE erstellt werden.
    Erfolgt nun ein Update, Insert oder Delete auf eine View, für die ein entsprechender Instead-Of-Trigger registriert wurde, wird dieses Trigger-Programm aufgerufen und ausgeführt.
    In diesem Trigger-Programm können dann mehrere Updates (auf die verbundenen Dateien) und auch andere Aktionen, (eigentlich alles, was in einem Programm hinterlegt werden kann) ausgeführt werden.

    Nähere Beschreibungen der Instead-Of-Trigger sind in der SQL-Referenz Release V5R4 zu finden:
    SQL Reference Release V5R4

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wer solche Datenbankdesigns dann noch versteht .....
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SQL Update aus zwei Dateien mit 3 Schlüsselfeldern
    By mk in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 13-07-12, 08:53
  2. ODBC update
    By synus in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-06, 15:38
  3. Update Syntax SQL
    By wuwu in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-07-06, 15:31
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Update via ODBC
    By mdhl in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 18-05-06, 13:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •