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. und eine Fortlaufende Numemr las Primärschlüssel (sequenz_mainboard)
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. Diese Koppeltabelle hat als Felder nur die beiden Sequenznummern der Bauteile.
Der Datentyp des Feldes Sockel ist varchar2.
Ich habe versucht einen Beispielcode abzuwandeln, mein Ergebnis seht ihr
hier:
Ich bedanke mich schon jetzt für eure Hilfe!
CREATE OR REPLACE TRIGGER new_cpu
BEFORE INSERT ON cpu
FOR EACH ROW
DECLARE
cursor cs is select sequenz_mainboard from mainboard where socket = :NEW.SOCKET;
cs_rec cs%rowtype;
begin
open cs;
loop fetch cs into cs_rec;
exit when cs%notfound;
insert into cpu_mainboard VALUES(:new.sequenz_cpu,cs_rec);
end loop;
close cs;
end new_cpu;
.
run;
Als Fehlermeldung bekomme ich folgendes:
Fehler bei TRIGGER NEW_CPU:
LINE/COL ERROR
-------- ---------------------------------------
6/102 PLS-00382: expression is of wrong type