Re: Duplicate timestamp(6): How is this possible?

  • From: Niall Litchfield <niall.litchfield@xxxxxxxxx>
  • To: michaeljmoore@xxxxxxxxx
  • Date: Wed, 19 Jan 2011 21:45:46 +0000

how is the code called?

On Wed, Jan 19, 2011 at 9:30 PM, Michael Moore <michaeljmoore@xxxxxxxxx>wrote:

> The problem is duplicate on primary key which is timestamp(6);
> CREATE TABLE TCOM_RETURN_ADJ_AUDIT
> (
>   TIME_D         TIMESTAMP(6)                   DEFAULT
> current_timestamp         NULL,
>   RECORD_NUMBER  NUMBER(10)                     NOT NULL,
>   MSG            VARCHAR2(4000 BYTE)                NULL,
>   RUN_DATE       DATE                               NULL
> );
>
> CREATE UNIQUE INDEX TCOM_RETURN_ADJ_AUDIT_PK ON TCOM_RETURN_ADJ_AUDIT
> (TIME_D)
> LOGGING
> TABLESPACE COM_INDX_DS
> NOPARALLEL;
>
> ALTER TABLE TCOM_RETURN_ADJ_AUDIT ADD (
>   CONSTRAINT TCOM_RETURN_ADJ_AUDIT_PK
>   PRIMARY KEY
>   (TIME_D)
>   USING INDEX TCOM_RETURN_ADJ_AUDIT_PK);
>
>
> Program does not insert the TIME_D value. Program does not provide TIME_D;
> actual value is obtained from table definition which has DEFAULT
> current_timestamp (see above);
>
> The code that does the insert:
>
>    PROCEDURE log_audit_info (p_msg_i IN VARCHAR2)
>    IS
>       PRAGMA AUTONOMOUS_TRANSACTION;
>    BEGIN
>       INSERT INTO tcom_return_adj_audit (record_number, msg, run_date)
>            VALUES (v_read_cnt, p_msg_i, v_run_date);
>
>       COMMIT;
>    END log_audit_info;
>
>
> THE ERROR
>
> ORA-00001: unique constraint (COM_APP.TCOM_RETURN_ADJ_AUDIT_PK) violated
>
>
>
> The server clock was not changed, already looked into this as a
> possibility.
>
> Thanks,
>
> Mike
>



-- 
Niall Litchfield
Oracle DBA
http://www.orawin.info

Other related posts: