Hallo, ich habe 3 Auslöser, die ich nicht kompilieren kann, würde ich einige Hilfe schätzen, wie ich es nicht umgehen kann. 1) Ich habe diese Tabelle in PL/SQL - Lösung war der erste Kommentar unter diesem Beitrag!Nicht funktionierende Variablen in PL/SQL
CREATE TABLE Personel_Project (
ProjectID INT,
PersonID INT,
FOREIGN KEY (ProjectID) REFERENCES Project(ProjectID),
FOREIGN KEY (PersonID) REFERENCES Personel(PersonID)
);/
Und dieser Trigger wird nicht funktionieren, im fast sicher, es hat etwas mit dem Namen Erklärung zu tun.
CREATE OR REPLACE TRIGGER peopleInProjects
AFTER DELETE OR INSERT OR UPDATE ON Personel_Project
FOR EACH ROW
DECLARE
projectnumber NUMBER := :new.ProjectID;
peoplecount NUMBER;
BEGIN
Select INTO peoplecount Count(PersonID) FROM Personel_Project Group by projectnumber;
dbms_output.put_line('ID of project: ' || projectnumber);
dbms_output.put_line('number of people working in this project: ' || peoplecount);
END;
/
Im bekommen diesen Fehler Fehler (4,5): PL/SQL: SQL-Anweisung ignoriert
Die Idee hinter diesem Trigger ist für sie zu starten, wenn jemand diese Tabelle in DB bearbeitet und Wir können sehen, wie viele Leute in diesem gerade bearbeiteten Projekt arbeiten.
2)
CREATE TABLE Project (
ProjectID INT PRIMARY KEY,
Name VARCHAR(255),
Due_date DATE,
Cost INT,
Payout INT
);
Mit dieser Tabelle war ich immer einen Fehler, wenn ich versuche, die Änderung in der Tabelle zu nennen von: new.DUE_DATE und jetzt im mit: DUE_DATE. Unfähig, weiterzugehen
CREATE OR REPLACE TRIGGER showChange
BEFORE
INSERT OR
UPDATE OF DUE_DATE, COST, PAYOUT OR
DELETE
ON PROJECT
BEGIN
CASE
WHEN INSERTING THEN
DBMS_OUTPUT.PUT_LINE('you put in this information' || :DUE_DATE || :COST || :PAYOUT);
WHEN UPDATING('Due_date') THEN
DBMS_OUTPUT.PUT_LINE('you updated due date to be' || :DUE_DATE);
WHEN UPDATING('Cost') THEN
DBMS_OUTPUT.PUT_LINE('you updated cost to be' || :COST);
WHEN UPDATING('Payout') THEN
DBMS_OUTPUT.PUT_LINE('you updated Payout to be' || :PAYOUT);
WHEN DELETING THEN
DBMS_OUTPUT.PUT_LINE('You deleted the project');
END CASE;
END;
/
Ich würde wirklich alle Hilfe, die ich bekommen kann. Vielen Dank!
wie nur ein Syntaxfehler. 'Wählen Sie Anzahl (PersonID) IN Personenanzahl. –
ok, das funktioniert für Nummer 1: D Danke – QuietDaniel