我正在尝试在Oracle中创建一个触发器,但它正在返回错误
ORA-00942:表或视图不存在
这是表格:
CREATE TABLE quartos(
idQuarto NUMBER(11),
numeroQ NUMBER(11),
limitePessoas NUMBER(2),
valorDiaria NUMBER(10,2),
situacao NUMBER(1), CONSTRAINT idQuarto_pk PRIMARY KEY (idQuarto)
);
以下是序列:
CREATE sequence "quartos_seq";
这是触发器:
CREATE trigger "bi_quartos"
before insert on "quartos"
for each row
begin
select "quartos_seq".nextval into :NEW."idQuarto" from dual;
end;
我以同样的方式创建另一个触发器,没有出错。我刚刚更改了参数,现在又返回了该错误
答案 0 :(得分:0)
从
中删除双引号创建触发器“bi_quartos” 插入 “quartos”
之前表名称将转换为大写。你正在做的是强迫它搜索一个不存在的小写表。
答案 1 :(得分:0)
您正在为表名和列名混合区分大小写且不区分大小写的标识符。
如果未将原始声明包装在双引号中,则会将其创建为不区分大小写,并且在尝试使用它们时不能使用双引号:
CREATE or replace trigger "bi_quartos"
before insert on quartos
for each row
begin
select "quartos_seq".nextval into :new.idQuarto from dual;
end;