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

Fehler Beim Erstellen eines Triggers

Frage Entwicklung Datenbanken

Mitglied: PowerPan

PowerPan (Level 1) - Jetzt verbinden

06.02.2008, aktualisiert 08.02.2008, 4584 Aufrufe, 8 Kommentare

Hallo

ich möchte auf einer Oracle Datenbank einen Trigger erstellen

Die Sequence habe ich schon erstellt Sie heisst SEQUENCE1

Um den Trigger anzulegen benutzte ich/ will ich benutzen:


01.
CREATE OR REPLACE TRIGGER TRIGGER_MLCD_COREDATA 
02.
BEFORE INSERT  
03.
ON MLCD_COREDATA  
04.
REFERENCING NEW AS New OLD AS Old  
05.
FOR EACH ROW  
06.
BEGIN  
07.
 
08.
  SELECT SEQUENCE1.NEXTVAL  
09.
    INTO :NEW.RECID  
10.
    FROM DUAL;  
11.
 
12.
END;  
13.
/ 
Der code von SEQUENCE1

01.
SEQUENCE1   
02.
MINVALUE 1  
03.
MAXVALUE 9999999999999999999999999999  
04.
INCREMENT BY 1  
05.
START WITH 1  
06.
CACHE 20  
07.
NOORDER  NOCYCLE ;
wenn ich nun den Trigger erstelln will kommt folgender Fehler:

01.
Error report: 
02.
ORA-06552: PL/SQL: Compilation unit analysis terminated 
03.
ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed 
04.
06552. 00000 -  "PL/SQL: %s" 
05.
*Cause:     
06.
*Action:
Kann mir da jemand helfen?
Mitglied: Bolle97
06.02.2008 um 10:04 Uhr
Hallo,

versuch es mal so:

CREATE OR REPLACE TRIGGER TRIGGER_MLCD_COREDATA
BEFORE INSERT ON MLCD_COREDATA
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW

declare
v_RECID MLCD_COREDATA.RECID%TYPE;

BEGIN

SELECT SEQUENCE1.NEXTVAL
INTO v_RECID
FROM DUAL;
:NEW.RECID := v_RECID;

END;
/


Gruß - René
Bitte warten ..
Mitglied: PowerPan
06.02.2008 um 10:18 Uhr
hi es kommt nun wieder als Fehler:

01.
 
02.
Error starting at line 1 in command: 
03.
CREATE OR REPLACE TRIGGER TRIGGER_MLCD_COREDATA 
04.
BEFORE INSERT ON MLCD_COREDATA  
05.
REFERENCING NEW AS New OLD AS Old  
06.
FOR EACH ROW  
07.
 
08.
declare 
09.
v_RECID MLCD_COREDATA.RECID%TYPE; 
10.
 
11.
BEGIN  
12.
 
13.
SELECT SEQUENCE1.NEXTVAL  
14.
INTO v_RECID 
15.
FROM DUAL;  
16.
:NEW.RECID := v_RECID; 
17.
 
18.
END;  
19.
Error report: 
20.
ORA-06552: PL/SQL: Compilation unit analysis terminated 
21.
ORA-06553: PLS-320: the declaration of the type of this expression is incomplete or malformed 
22.
06552. 00000 -  "PL/SQL: %s" 
23.
*Cause:     
24.
*Action: 
25.
 
Bitte warten ..
Mitglied: Bolle97
06.02.2008 um 15:27 Uhr
Hallo,

also bei mir funktioniert das.
Poste mal bitte die Tabellendefinition (wenigstens den Datentyp von "RECID") und die Oracle-Version.

Gruß - René
Bitte warten ..
Mitglied: PowerPan
06.02.2008 um 15:54 Uhr
Oracle 10.2

RECID ist vom TYP Number
Bitte warten ..
Mitglied: Bolle97
07.02.2008 um 09:24 Uhr
Hallo,

also bei mir funktioniert alles perfekt, sowohl in 9i als auch in 10g.
Noch mal nachgefragt, was ist das für eine Tabelle?
Mach mal ein "DESC MLCD_COREDATA" und poste das Ergebnis.

Das "REFERENCING NEW AS New OLD AS Old" im Trigger brauchst Du nicht angeben, es sei denn eine Spalte in der Tabelle hast Du "NEW" oder "OLD" benannt.

Gruß - René
Bitte warten ..
Mitglied: PowerPan
08.02.2008 um 14:07 Uhr
Hi habe das Problem gefunden ich hatte eine Spalte mit dem Namen "Date" welches ein Reserviertes Word ist das war as Problem
Bitte warten ..
Mitglied: Biber
08.02.2008 um 15:43 Uhr
Moin Powerpan,

das verstehe ich nur begrenzt.
In dem von Dir geposteten CREATE-TRIGGER-Statement wird doch außer dem Feld RECID kein anderes Feld angesprochen - somit auch kein Feld namens "DATE"?

Soll Deine Fehleranalyse jetzt bedeuten, dass ich in Oracle zwar Tabellen mit Spaltenname "RESEVIERTESWORT" anlegen kann, dann aber die DB krachen geht, sobald ich darauf einen Trigger definiere?

Und das oben gepostete, nicht funktionierende Statement lässt sich jetzt kompilieren, seit Du ein Feld "DATE" in einer Tabelle auf "DATUM" umbenannt hast???

So abgedreht kam mir Oracle bisher gar nicht vor...

Ratlos
Biber
Bitte warten ..
Mitglied: PowerPan
08.02.2008 um 15:45 Uhr
also unser dba war draufgekommen der war beim ertsllen leider krank als ich den Beitrag schrieb

Oracle tut wohl beim anlgen die ganze Tabelle begutachten das is das halt aufgetreten obwohl der Spalten name in " " gesetzt war naja was solls habe as geändert und jetzt geht es
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (16)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Switche und Hubs
gelöst Trunk für 2xCisco Switch. Wo liegt der Fehler? (43)

Frage von JayyyH zum Thema Switche und Hubs ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...