我在这里被阻止了一个错误,基本上我之前已经创建了一个表,并且对于这个表我创建了一个自动增量(使用下一个Trigger / Sequence);在继续之前我必须说这个表已经在里面的信息,我不知道是否可能是一个问题:
CREATE SEQUENCE "schema"."sequenceNAme" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE ;
create or replace TRIGGER T_unique BEFORE INSERT ON table_id
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF :NEW.idcolumn IS NULL THEN
SELECT sequenceNAme.NEXTVAL INTO :NEW.idcolumn FROM DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
此ID的DataType
为Float
;
当我尝试从oracle插入表时,它工作正常。
insert into table_id values(null,'Tigrex','test','TestSystem');
这会正确生成自动增量
然后我使用Entity框架将其包含在代码中。它看起来像下一个:
但是当我创建对象时,保存我会收到下一个错误:
ORA-06550: line 2, column 26:
PLS-00216: NUMBER precision constraint must be in range (1 .. 38)
ORA-06550: line 0, column 0:
PLS-00707: unsupported construct or internal error [2604]
ORA-06550: line 4, column 21:
PL/SQL: ORA-06544: PL/SQL: internal error, arguments: [2604], [], [], [], [], [], [], []
ORA-06550: line 4, column 1:
PL/SQL: SQL Statement ignored
ORA-06550: line 0, column 0:
PLS-00707: unsupported construct or internal error [2604]
ORA-06550: line 10, column 45:
PL/SQL: ORA-06544: PL/SQL: internal error, arguments: [2604], [], [], [], [], [], [], []
ORA-06550: line 9, column 14:
我尝试的是,将类型更改为实体框架为Int32
,同时将precision
更改为20(只是为了检查),但我仍然收到相同的错误。
有什么想法吗?
我的下一个想法是创建一个新表,但不是最好的解决方案。
谢谢,