我遇到觸發器問題。創建觸發器後,它給我的消息PL/SQL觸發器無法正常工作
BD1.UTILIZADOR是突變,觸發不能讀取或執行
我有這個表
create table UTILIZADOR
(
U_ID NUMBER(6) not null,
U_NOME VARCHAR2(60) not null,
U_SEXO VARCHAR2(10) not null,
U_IDADE NUMBER(3) not null,
U_ALTURA NUMBER(3) not null,
U_PESO NUMBER(6) not null,
U_IMC NUMBER(2,2),
U_PRIVILEGIOS NUMBER(1) not null,
U_PASSWORD VARCHAR2(10) not null,
constraint PK_UTILIZADOR primary key (U_ID)
);
,如果我這樣做:
INSERT INTO UTILIZADOR (U_ID,U_NOME,U_SEXO,U_IDADE,U_ALTURA,U_PESO,U_PRIVILEGIOS,U_PASSWORD) VALUES (1,'my name','Male',32,174,74000,0,'password');
然後
SELECT * FROM UTILIZADOR;
我可以看到一切都如預期。
我想要做什麼,插入或更新U_ALTURA或U_PESO時,字段U_IMC會自動更新/插入。
這裏是如果做了什麼:
CREATE OR REPLACE TRIGGER CALCULA_IMC
AFTER INSERT OR UPDATE OF U_ALTURA, U_PESO ON UTILIZADOR
FOR EACH ROW
BEGIN
UPDATE UTILIZADOR
SET U_IMC = (U_PESO/1000)/(POWER(U_ALTURA/100,2));
END;
/
有人能告訴我什麼,我做錯了什麼?