-
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!
-
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.
-
Klingt logisch...danke :-)
Ich nerve zwar, aber ich lerne!
-
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
-
Wer solche Datenbankdesigns dann noch versteht .....
Similar Threads
-
By mk in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 13-07-12, 08:53
-
By synus in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-10-06, 15:38
-
By wuwu in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-07-06, 15:31
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks