0
私はデータベースに関連するものについては初めてです。私は学校から宿題を持っています。従業員の給与の更新があるときにトリガーを作成する必要があります。Oracle - トリガーを作成しようとしましたが、コンパイルエラーでトリガーが作成され続けます。
"STAには、従業員の給与が元の給与の20%を超えて変更できないという規則があるとします。この制約を適用するためにトリガsalary_changeを作成します。 salaryinのemployeetableandは、規則に違反したとき」。適切なエラーメッセージを出力し
テーブルの構造は以下here
利用可能である私が作ったが、コンパイル・エラーで作成したコードです。
create or replace trigger salary_change
before update of emp_salary on employee
for each row
begin
if :new.emp_salary > :emp_salary * 1.2 then
raise_application_error(-20000, ('New salary for employee ' || emp_name || ' is getting more than 20% raise'));
end if;
end;
/
私が使用する必要があるとき、私は知っている可能性があります「:を」?私の家庭教師によって与えられた例では、new.emp_salaryが使用されることもありますが、new.emp_salaryが使用されることもあります。 ":"は "="と共に使用されることもあります。 – Lewis
私はold.emp_salaryを追加しましたが、まだコンパイルエラーでトリガーが作成されています。 – Lewis