1

これまでのところありがとう、みんな、

まずはあなたの助けを借りてどんどん進んでいく気がします!

ただし、オラクルが提供するフォームウィザードを使用しているときに、別の問題が発生しました。

私が抱えている問題は、ウィザードに従うと主キー列を設定するように求められますが、一度設定すると、ROWSを追加できなくなります。

ここで私が何を意味するのかを理解するには、次の例を示します。

フォームのスクリーンショット

スケジュール番号は追加できません。

テーブルのSQLは次のとおりです。

CREATE TABLE  "MACHINE_SCHEDULE" 
   (    "SCHEDULE_NUMBER" VARCHAR2(40 CHAR), 
    "MACHINE_NO" VARCHAR2(10 CHAR), 
    "MACHINE_USE_DATE" DATE, 
    "START_TIME" TIMESTAMP (3) WITH TIME ZONE, 
    "END_TIME" TIMESTAMP (3) WITH TIME ZONE, 
    "PROCESS" VARCHAR2(164 CHAR), 
    "BATCH_NO" VARCHAR2(10 CHAR), 
    "MATERIAL_BAR_NO" NUMBER(8,0), 
    "TECHNICIAN_STAFF_NO" VARCHAR2(15 CHAR), 
     CONSTRAINT "MACHINE_SCHEDULE_PK" PRIMARY KEY ("SCHEDULE_NUMBER") ENABLE
   )
/
ALTER TABLE  "MACHINE_SCHEDULE" ADD CONSTRAINT "MACHINE_SCHEDULE_CON" FOREIGN KEY ("TECHNICIAN_STAFF_NO")
      REFERENCES  "MODULE_TECHNICIAN" ("TECHNICIAN_STAFF_NO") ENABLE
/
ALTER TABLE  "MACHINE_SCHEDULE" ADD CONSTRAINT "MACHINE_SCHEDULE_FK" FOREIGN KEY ("BATCH_NO")
      REFERENCES  "BATCH" ("BATCH_NO") ENABLE
/
ALTER TABLE  "MACHINE_SCHEDULE" ADD CONSTRAINT "MACHINE_SCHEDULE_FK2" FOREIGN KEY ("MATERIAL_BAR_NO")
      REFERENCES  "MATERIAL_BAR" ("MATERIAL_BAR_NO") ENABLE
/

CREATE OR REPLACE TRIGGER  "BI_MACHINE_SCHEDULE" 
  before insert on "MACHINE_SCHEDULE"               
  for each row  
begin   
  if :NEW."SCHEDULE_INSTANT_NUMBER" is null then 
    select "MACHINE_SCHEDULE_SEQ".nextval into :NEW."SCHEDULE_INSTANT_NUMBER" from dual; 
  end if; 
end; 

/
ALTER TRIGGER  "BI_MACHINE_SCHEDULE" DISABLE
/

ただし、テーブルに行を追加しようとすると、次のエラーが発生します。

Error in mru internal routine: ORA-20001: Error in MRU: row= 1, 
ORA-01438: value larger than specified precision allowed for this column, 
insert into "GROUP7_1"."MACHINE_SCHEDULE" ( "SCHEDULE_NUMBER", "MACHINE_NO", "MACHINE_USE_DATE", "START_TIME", "END_TIME", "PROCESS", "BATCH_NO", "MATERIAL_BAR_NO", "TECHNICIAN_STAFF_NO") 
values ( :b1, :b2, :b3, :b4, :b5, :b6, :b7, :b8, :b9) 
4

0 に答える 0