我正在尝试在 apex5 中创建一个表,并参考具有来自另一个表的外键并且填充了该外键列。但是创建返回错误 ORA-00922:缺少或无效选项,已经检查并且没有注意到任何错误命名可能出了什么问题?以下代码:
CREATE TABLE "IMAGEM_ICONE_SISTEMA"
( "COD" NUMBER NOT NULL ENABLE,
"COD_SISTEMA" NUMBER(6,0) NOT NULL ENABLE,
"NOME" VARCHAR2(55),
"ARQUIVO_IMAGEM" BLOB,
"MIMETYPE" VARCHAR2(255),
"FILENAME" VARCHAR2(400),
"IMG_LAST_UPDATE" TIMESTAMP (6) WITH LOCAL TIME ZONE,
"UPDATED_BY" VARCHAR2(55),
"TEXTO_DESCRICAO" VARCHAR2(55),
"LINK" VARCHAR2(2000),
"NUM_ORDEM" NUMBER(6,0),
CONSTRAINT "IMAGEM_ICONE_SISTEM_PK" PRIMARY KEY ("COD") USING INDEX ENABLE)
/
ALTER TABLE "IMAGEM_ICONE_SISTEMA" ADD CONSTRAINT "IMAGEM_ICONE_SISTEMA_FK" FOREIGN KEY ("COD_SISTEMA")
REFERENCES "APEX_SISTEMA" ("COD") ON DELETE CASCADE ENABLE
/
CREATE INDEX "IMAGEM_ICONE_SISTEMA_I2" ON "IMAGEM_ICONE_SISTEMA" ("COD_SISTEMA")
/
CREATE OR REPLACE EDITIONABLE TRIGGER "BI_IMAGEM_ICONE_SISTEMA" before insert or update on IMAGEM_ICONE_SISTEMA
for each row
begin
if :new.COD is null then
select to_number(sys_guid(),'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') into :new.cod from dual;
end if;
if inserting then
:new.img_last_update := localtimestamp;
:new.updated_by := nvl(wwv_flow.g_user,user);
elsif updating and :new.filename is not null and nvl(dbms_lob.getlength(:new.arquivo_imagem),0) > 15728640 then raise_application_error(-20000, 'O tamanho do arquivo enviado foi maior do que 15MB . Faça o upload de um arquivo de tamanho menor.');
end if;
if (inserting or updating) and :new.filename is not null and nvl(:new.mimetype,'NULL') not like 'image%' then
raise_application_error(-20000, 'O arquivo enviado não é uma imagem. Faça o upload de um arquivo de imagem.');
end if;
if inserting or updating then
:new.img_last_update := localtimestamp;
:new.updated_by := nvl(wwv_flow.g_user,user);
end if;
end;
/
ALTER TRIGGER "BI_IMAGEM_ICONE_SISTEMA" ENABLE
/