Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Trigger after insert on

Frage Entwicklung Datenbanken

Mitglied: NanaBama

NanaBama (Level 1) - Jetzt verbinden

18.06.2009, aktualisiert 09:19 Uhr, 9671 Aufrufe, 6 Kommentare

Hallo zusammen,
ich habe ein kleines Problemchen, bei dem es mich schon sehr wundert, dass ich es nicht alleine lösen kann.
Vielleicht könnt ihr mir helfen, mir die Schuppen von den Augen zu nehmen!

Mein Problem:
-Oracle Datenbank
-Trigger greift nach dem Einfügen einer neuen Zeile

Trigger läuft soweit auch schön ordentlich durch, jetzt möchte ich jedoch die neu eingefügten Datensätze weiterverarbeiten,
mit einem erneuten "INSERT INTO" in eine neue Tabelle.
:NEW und :OLD sind jedoch leider nicht möglich...
Wie lautet dieser blöde Befehl??

Vielen Dank euch!
Mitglied: Bolle97
18.06.2009 um 10:50 Uhr
Hallo,

am besten ein kleines Beispiel
01.
TRIGGER assist_art_after 
02.
   after update or insert or delete on assist_art 
03.
   for each row 
04.
declare 
05.
   key_c varchar2(1); 
06.
begin 
07.
   if inserting then 
08.
      aend_art := 'I'; 
09.
      key_c := :new.KEY; 
10.
      insert into log_tabelle 
11.
      values(key_c, :new.BEZEICHNUNG); 
12.
   elsif updating then 
13.
      aend_art := 'U'; 
14.
      key_c := :new.KEY; 
15.
      update log_tabelle 
16.
         set T8115_ASSISTENTENART = :new.BEZEICHNUNG 
17.
         where T8115_ASS_ARTEN_SCHLUESSEL = key_c; 
18.
   elsif deleting then 
19.
      aend_art := 'D'; 
20.
      key_c := :old.KEY; 
21.
      delete from log_tabelle 
22.
         where T8115_ASS_ARTEN_SCHLUESSEL = key_c; 
23.
   else null; 
24.
   end if; 
25.
end assist_art_after;
Gruß René
Bitte warten ..
Mitglied: NanaBama
18.06.2009 um 10:58 Uhr
Hallo René,

danke für Dein Beispiel.
So in der Art habe ich es auch versucht, aber
"Fehler: ORA-04082: NEW- oder OLD-Verweise in Triggern auf Tabellenebene nicht zulässig"
Bitte warten ..
Mitglied: Bolle97
18.06.2009 um 11:38 Uhr
Hallo,

na dann poste doch mal Dein Beispiel.

Gruß René
Bitte warten ..
Mitglied: NanaBama
18.06.2009 um 12:29 Uhr
01.
create or replace 
02.
TRIGGER ANLEGEN 
03.
AFTER INSERT ON Table1 
04.
DECLARE 
05.
   NUSER VARCHAR2(50); 
06.
 
07.
BEGIN 
08.
   NUSER := :NEW.USERNAME; 
09.
 
10.
   INSERT INTO Table2 ( 
11.
                              DATUM, 
12.
                              USERA 
13.
                              )  
14.
   values               ( 
15.
                              SYSDATE,  
16.
                              NUSER 
17.
                              ); 
18.
END;

Eigentlich sehr simpel, aber eben die Fehlermeldung.
Ich weiß nicht wie ich an diesen Usernamen rankomme!
Bitte warten ..
Mitglied: Biber
18.06.2009 um 12:33 Uhr
Moin NanaBama,

Du schreibst (und glaubst wahrscheinlich auch)
Trigger greift nach dem Einfügen einer neuen Zeile
... aber nichtsdestotrotz ist Dein Trigger mit Sicherheit ein "Table-Trigger" und kein "row-Trigger" wie der in Bolle97s Beispiel.

Bei einem Table-Trigger (sprich: der feuert, wenn tabelle xy upgedated oder dorthin inserted wird) sind logischerweise keine :New/:Old-Referenzen erlaubt.

Grüße
Biber

[Edit] Upps, hat sich zeitlich mit NanaBamas Kommentar überschnitten....
Aber wie geschrieben - da ist kein "FOR EACH ROW", das ist gar kein Row-Trigger.
[/Edit]
Bitte warten ..
Mitglied: NanaBama
18.06.2009 um 13:08 Uhr
Danke, danke, danke! ^^
Oh man ich hasse es, wenn etwas scheitert und es nur an solchen Kleinigkeiten liegt!

Ich hab ein "FOR EACH ROW" eingefügt und siehe da, es läuft!
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst Powershell Old Files and Folders Deletion after x days (4)

Frage von easy4breezy zum Thema Entwicklung ...

Monitoring
gelöst Zabbix: wenn Verzeichnis fehlt oder leer ist, dann Trigger (5)

Frage von honeybee zum Thema Monitoring ...

Datenbanken
SQL Trigger: Komplette Row an Stored Procedure übergeben (9)

Frage von BirdyB zum Thema Datenbanken ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (15)

Frage von peterpa zum Thema Microsoft Office ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...