macgyver4711
Grünschnabel
Hallo,
fange grad an PL/SQL zu Programmieren und versuche mich an folgendem Beispiel:
Ich will einen Rechnerkonfigurator "bauen".
Es gibt zunächst ne Tabelle Mainboard und eine Tabelle CPU, beide haben ein Feld Sockel.
beim einfügen eines neuen CPUs soll ein Trigger ausgelöst werden, der prüft ob der CPU sozusagen auf irgendwelche Boards passt. wenn dem so ist, soll ein Eintrag in die Koppeltabelle cpu_mainboard geschrieben werden.
Der Datentyp des Feldes Sockel ist varchar2. Und ich denke auch dass da der Fehler liegt.(siehe Fehlerbeschreibung unten)
Ich habe versucht einen Beispielcode abzuwandeln, mein Ergebnis seht ihr hier:
Ich bedanke mich schon jetzt für eure Hilfe!
dabei bekomme ich folgende Fehlermeldung:
fange grad an PL/SQL zu Programmieren und versuche mich an folgendem Beispiel:
Ich will einen Rechnerkonfigurator "bauen".
Es gibt zunächst ne Tabelle Mainboard und eine Tabelle CPU, beide haben ein Feld Sockel.
beim einfügen eines neuen CPUs soll ein Trigger ausgelöst werden, der prüft ob der CPU sozusagen auf irgendwelche Boards passt. wenn dem so ist, soll ein Eintrag in die Koppeltabelle cpu_mainboard geschrieben werden.
Der Datentyp des Feldes Sockel ist varchar2. Und ich denke auch dass da der Fehler liegt.(siehe Fehlerbeschreibung unten)
Ich habe versucht einen Beispielcode abzuwandeln, mein Ergebnis seht ihr hier:
Ich bedanke mich schon jetzt für eure Hilfe!
Code:
create or replace trigger new_cpu
after insert on cpu
for each row
declare
socketneu varchar2(5):= 0;
ma_bez:=0;
cursor cs is select * from mainboard where socket = :new.socket;
cs_rec cs%rowtype;
begin
socketneu:= :new.socket;
open cs;
loop
fetch cs into cs_rec;
exit when cs%notfound;
ma_bez:=cs_rec.bezeichner_ma;
insert into cpu_mainboard VALUES(:new.bezeichnung_cpu,ma_bez);
end loop;
close cs;
end new_cpu;
.
run;
dabei bekomme ich folgende Fehlermeldung:
Code:
Fehler bei TRIGGER NEW_CPU:
LINE/COL ERROR
-------- -----------------------------------------------------------------
3/8 PLS-00103: Encountered the symbol "=" when expecting one of the
following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
nchar
The symbol "<an identifier>" was substituted for "=" to continue.