Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 9872 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
Monitoring
gelöst Zabbix: wenn Verzeichnis fehlt oder leer ist, dann Trigger (5)

Frage von honeybee zum Thema Monitoring ...

Windows Server
gelöst Task Scheduler . Triggern nach Instanz ID (3)

Frage von fireskyer zum Thema Windows Server ...

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

Frage von BirdyB zum Thema Datenbanken ...

Datenbanken
Microsoft SQL Server Feld mit Trigger aktualisieren (3)

Frage von ursus57 zum Thema Datenbanken ...

Neue Wissensbeiträge
Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(3)

Information von LordGurke zum Thema Humor (lol) ...

Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
Gruppenrichtlinie greift nicht zu! (24)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...