0

Employees へのエントリが作成されたら、Payroll に値を挿入するトリガーを作成しました。しかし、 Employees に値を挿入すると、トリガーから Payroll に値が入力されません。従業員に値を挿入すると、給与は空のままになります。何か案は?

CREATE TABLE Employees(
empid FLOAT,
dept FLOAT,
empname varchar2(25),
salary FLOAT
);

CREATE TABLE Payroll(
empid FLOAT,
salary FLOAT
);

CREATE OR REPLACE TRIGGER NewEmployee
AFTER INSERT 
ON Employees
FOR EACH ROW
BEGIN
INSERT INTO Payroll 
VALUES(:Old.empid,:Old.salary);
END;
/


INSERT INTO Employees values (1,1,‘supply’,50000);
INSERT INTO Employees values (2,2,‘hard’,80000);

Select * from Employees;
Select * from payroll;
4

1 に答える 1

1

あなたの:Old.empidandは and で:Old.salaryある必要が:new.empidあり:new.salaryます。

また、可能な場合はトリガーを使用する方がわずかに効率的BEFORE INSERTです。

于 2012-12-07T01:58:37.873 に答える