データシートを使用して、Oracle Apex ユーティリティからデータをロードしています。
ロードされたデータからテーブルの値をチェックし、取得した内容に応じて値を変更するトリガーを作成したいと考えています。
テーブルには、id、name、email、type の 4 つの列があります。
ロードするデータは次のようなものです: name,email,type
今私のトリガー:
create or replace TRIGGER BI_USER
before insert ON USER
for each row
declare
begin
if :NEW.ID is null then
select USERID_SEQ.nextval into :NEW.ID from dual;
end if;
:NEW.TYPE := 'something else';
end;
ID はうまく機能し、シーケンスから番号を取得しますが、:new.type は機能せず、変更されません。また、SQL 挿入を個別に実行すると、同じことが起こります。
編集: new.type タイプは char(1) です。テスト用にこのように書きましたが、変更されません...ああ、私は自分自身に失望しています。データを読み取った直後にエラーがスローされ、引き金。
私がやろうとしていたのは、TYPE列の名前を持ち、そのテーブルのIDをNEW.typeに入れることです
NEWタイプを変更する方法はありますか?