私はOracleとOracleApplicationExpressを初めて使用します。
マニュアルを使用していて、次の3つのフィールドを持つテーブルを作成しようとしています。
USER_ID:番号、主キー、自動番号
USER_NAME:VARCHAR2、一意
パスワード:VARCHAR2
APEX SQL Workshopウィザードを使用してテーブルを作成しましたが、次のようなことをしようとすると、次のようになります。
INSERT INTO Schema.USERS (USER_NAME,PASSWORD) VALUES ('planet','password');
...主キーの一意性制約に違反していると言われました。
トリガーは、テーブル作成ウィザードによって自動的に作成されました。次のようになります。
create or replace trigger "BI_USERS"
before insert on "USERS"
for each row
begin
if :NEW."USER_ID" is null then
select "USERS_SEQ".nextval into :NEW."USER_ID" from sys.dual;
end if;
end;
これにより、USERSのUSER_IDフィールドで最大の数値が自動的に検出され、新しいINSERTごとに増分値が自動的に割り当てられるという印象を受けましたが、これは発生していないようです。
誰かが私が間違っているかもしれないことを提案できますか?
どうもありがとう
pt