SYSDBA権限をそのユーザーに付与した場合は、間接的にSYSアカウントを使用しています。ここでは、テーブルを格納するための単純なユーザーを作成する方法についての小さなビデオを示します。
https://www.youtube.com/watch?v=WDJacg0NuLo
今、あなたのトリガーへ。トリガーでロールバック(またはコミット)を発行することは決してありません。これは、潜在的に大規模なトランザクションの一部であるためです。やりたいことなど
if :new.col = :old.col then
raise_application_error(-20000,'You did not change the value');
end if;
、トリガーを起動した文を放棄しますエラーが発生している。しかし、あなたは、INSERT文をトラップしているので、もちろん、これはそうそこに、あなたのケースで仕事に行くされていませんなし '古い'値です。私はあなたがユニーク制約をしたい、そのためのトリガここにあなたの目的は、テーブル内の任意の重複を持っていません...ので、あなたが必要とする(またはたく)していないと思いますが、例えば
であることから、重複を防ぐことができます
alter table MY_TABLE add constraint MY_TABLE_UQ unique (ogrenci_no) ;
許可されます。