我遇到触发器问题。创建触发器后,它给我的消息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;
/
有人能告诉我什么,我做错了什么?