create table account_type
(
acct_type number(3) primary key,
acct_desc Varchar2(30) not null CHECK (acct_desc IN('savings','salary','current','credit')),
acct_wd_limit number(10)
);
create sequence acct_seq;
CREATE OR REPLACE TRIGGER acct_pk
BEFORE INSERT ON account_type
FOR EACH ROW
WHEN (new.acct_type IS NULL)
BEGIN
SELECT acct_seq.NEXTVAL
INTO :new.acct_type
FROM account_type;
END;
我對ACCOUNT_TYPE插入之前得到就行了一個錯誤。不知道爲什麼可以解決這個問題嗎?
我也想這樣做
CREATE OR REPLACE TRIGGER acct_pk
BEFORE INSERT ON account_type
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
SELECT acct_seq.NEXTVAL
INTO :new.id
FROM account_type;
END;
即使這樣做是給我一個錯誤
create sequence acct_pk
start with 1
increment by 1
max value 999
min value 1
no cycle;
感謝
有什麼錯誤? – Mureinik
您在創建序列中的序列名稱應爲acct_seq。 – beny23
如果您不向我們展示嘗試運行您的語句所產生的錯誤消息,我們如何回答該問題?也許你的語法錯了。也許你沒有正確的權限來創建表和序列。許多不同的事情可能是錯誤的。 – Rene