CREATE OR REPLACE TRIGGER "RMMSIDEV"."PRO_TR_A04" BEFORE INSERT OR UPDATE ON PRO_T_A04 FOR EACH ROW DECLARE BEGIN IF INSERTING THEN :NEW.REGI_DTTM := SYSDATE; ELSIF UPDATING THEN :NEW.UPDT_DTTM := SYSDATE; END IF; END;GRANT CREATE FUNCTION ON GMFCTD08 TO rMmsidev; ALTER TRIGGER "RMMSIDEV"."PRO_TR_A04" ENABLE
SQL> create table PRO_T_A04(idx int,REGI_DTTM date,UPDT_DTTM date);Table createdSQL> SQL> CREATE OR REPLACE TRIGGER PRO_TR_A04 2 BEFORE INSERT OR UPDATE 3 ON PRO_T_A04 4 FOR EACH ROW 5 BEGIN 6 IF INSERTING THEN 7 :NEW.REGI_DTTM := SYSDATE; 8 ELSIF UPDATING THEN 9 :NEW.UPDT_DTTM := SYSDATE; 10 END IF; 11 END; 12 / 1 row insertedSQL> select * from PRO_T_A04; IDX REGI_DTTM UPDT_DTTM --------------------------------------- ----------- ----------- 1 9/30/08 11: SQL> 贴出你的表结构,还有你的插入语句
CREATE TABLE "RMMSIDEV"."PRO_T_A04" ( "LOCAL_CODE" VARCHAR2(2 BYTE) NOT NULL ENABLE, "VNDR_CODE" VARCHAR2(5 BYTE) DEFAULT 0 NOT NULL ENABLE, "HEAD" CHAR(2 BYTE) NOT NULL ENABLE, "CODE_DESC" VARCHAR2(100 BYTE) DEFAULT ' ' NOT NULL ENABLE, "REGI_DTTM" DATE DEFAULT sysdate, "UPDT_DTTM" DATE, CONSTRAINT "XPKPRO_T_A04" PRIMARY KEY ("LOCAL_CODE", "VNDR_CODE") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "RMPARTTBS" ENABLE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "RMPARTTBS" ;
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."LOCAL_CODE" IS 'Áö¿ª ÄÚµå';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."VNDR_CODE" IS '¾÷ü ÄÚµå';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."HEAD" IS 'º»ºÎ ÄÚµå';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."CODE_DESC" IS '¾÷ü¸í';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."REGI_DTTM" IS 'µî·ÏÀϽÃ';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."UPDT_DTTM" IS '¼öÁ¤ÀϽÃ';
CREATE OR REPLACE TRIGGER "RMMSIDEV"."PRO_TR_A04" BEFORE INSERT OR UPDATE ON PRO_T_A04 FOR EACH ROW DECLARE BEGIN IF INSERTING THEN :NEW.REGI_DTTM := SYSDATE; ELSIF UPDATING THEN :NEW.UPDT_DTTM := SYSDATE; END IF; END;GRANT CREATE FUNCTION ON GMFCTD08 TO rMmsidev; / ALTER TRIGGER "RMMSIDEV"."PRO_TR_A04" ENABLE;
ORA-04098: trigger 'string.string' is invalid and failed re-validation Cause: A trigger was attempted to be retrieved for execution and was found to be invalid. This also means that compilation/authorization failed for the trigger. Action: Options are to resolve the compilation/authorization errors, disable the trigger, or drop the trigger.
CREATE OR REPLACE TRIGGER "RMMSIDEV"."PRO_TR_A04" BEFORE INSERT OR UPDATE
ON PRO_T_A04
FOR EACH ROW
DECLARE
BEGIN IF INSERTING THEN
:NEW.REGI_DTTM := SYSDATE;
ELSIF UPDATING THEN
:NEW.UPDT_DTTM := SYSDATE;
END IF;
END;GRANT CREATE FUNCTION ON GMFCTD08 TO rMmsidev;
ALTER TRIGGER "RMMSIDEV"."PRO_TR_A04" ENABLE
SQL> create table PRO_T_A04(idx int,REGI_DTTM date,UPDT_DTTM date);Table createdSQL>
SQL> CREATE OR REPLACE TRIGGER PRO_TR_A04
2 BEFORE INSERT OR UPDATE
3 ON PRO_T_A04
4 FOR EACH ROW
5 BEGIN
6 IF INSERTING THEN
7 :NEW.REGI_DTTM := SYSDATE;
8 ELSIF UPDATING THEN
9 :NEW.UPDT_DTTM := SYSDATE;
10 END IF;
11 END;
12 /
1 row insertedSQL> select * from PRO_T_A04; IDX REGI_DTTM UPDT_DTTM
--------------------------------------- ----------- -----------
1 9/30/08 11: SQL> 贴出你的表结构,还有你的插入语句
CREATE TABLE "RMMSIDEV"."PRO_T_A04"
( "LOCAL_CODE" VARCHAR2(2 BYTE) NOT NULL ENABLE,
"VNDR_CODE" VARCHAR2(5 BYTE) DEFAULT 0 NOT NULL ENABLE,
"HEAD" CHAR(2 BYTE) NOT NULL ENABLE,
"CODE_DESC" VARCHAR2(100 BYTE) DEFAULT ' ' NOT NULL ENABLE,
"REGI_DTTM" DATE DEFAULT sysdate,
"UPDT_DTTM" DATE,
CONSTRAINT "XPKPRO_T_A04" PRIMARY KEY ("LOCAL_CODE", "VNDR_CODE")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "RMPARTTBS" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "RMPARTTBS" ;
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."LOCAL_CODE" IS 'Áö¿ª ÄÚµå';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."VNDR_CODE" IS '¾÷ü ÄÚµå';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."HEAD" IS 'º»ºÎ ÄÚµå';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."CODE_DESC" IS '¾÷ü¸í';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."REGI_DTTM" IS 'µî·ÏÀϽÃ';
COMMENT ON COLUMN "RMMSIDEV"."PRO_T_A04"."UPDT_DTTM" IS '¼öÁ¤ÀϽÃ';
CREATE OR REPLACE TRIGGER "RMMSIDEV"."PRO_TR_A04" BEFORE INSERT OR UPDATE
ON PRO_T_A04
FOR EACH ROW
DECLARE
BEGIN IF INSERTING THEN
:NEW.REGI_DTTM := SYSDATE;
ELSIF UPDATING THEN
:NEW.UPDT_DTTM := SYSDATE;
END IF;
END;GRANT CREATE FUNCTION ON GMFCTD08 TO rMmsidev;
/
ALTER TRIGGER "RMMSIDEV"."PRO_TR_A04" ENABLE;
Cause: A trigger was attempted to be retrieved for execution and was found to be invalid. This also means that compilation/authorization failed for the trigger.
Action: Options are to resolve the compilation/authorization errors, disable the trigger, or drop the trigger.