Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-30926

540353May 19 2008 — edited May 19 2008
Hi,

I am getting the following error..

ORA-30926 - unable to get a stable set of rows in the source tables.

My query is :

BEGIN
MERGE INTO
TABLE1
USING
(SELECT * FROM TABLE2 WHERE DAY_OF_WEEK = TO_CHAR(SYSDATE -
1,'DY')) INTE
ON
( LOGG.NAME = INTE.NAME AND
TRUNC(LOGG.RUN) = TRUNC(SYSDATE - 1) AND

to_number(DECODE(SIGN((TO_NUMBER((TO_CHAR(LOGG.RUN,'hh24')*60)+(T
O_CHAR(LOGG.RUN,'mi'))) -
TO_NUMBER(TO_NUMBER(SUBSTR(INTE.TRIGGER_TIME,1,2))*60+TO_NUMBER(SUBSTR(INTE.
TRIGGER_TIME,4,2))))),-1,10,(TO_NUMBER((TO_CHAR(LOGG.RUN,'hh24')*
60)+(TO_CHAR(LOGG.RUN,'mi'))) - TO_NUMBER(TO_NUMBER(SUBSTR(INTE.TRIGGER_TIME,1,2))*60+TO_NUMBER(SUBSTR(INTE.
TRIGGER_TIME,4,2)))))) <= 60 AND
LOGG.ERROR_MSG IS NULL
)
WHEN MATCHED THEN UPDATE SET LOGG.MISC_ATTRIBUTE1 = 'CORRECT'
WHEN NOT MATCHED THEN INSERT (table3,
INTERFACE_NAME,
INTERFACE_PATH,

INTERFACE_TYPE,
SERVER_NAME,
RUN_START_TIME,
RUN_END_TIME,

ERROR_MSG,
CREATED_BY,
CREATION_DATE,

LAST_UPDATED_BY,
LAST_UPDATE_DATE
) VALUES
(TEMP_INT_RUN_LOG_SEQ.NEXTVAL,
INTE.INTERFACE_NAME,
INTE.LOCATION,
INTE.INTERFACE_TYPE,
INTE.SERVER_NAME,

to_date((TO_CHAR(TRUNC(SYSDATE-1),'mm/dd/yyyy')||'
'||INTE.TRIGGER_TIME),'mm/dd/yyyy HH24:MI'),

to_date((TO_CHAR(TRUNC(SYSDATE-1),'mm/dd/yyyy')||'
'||INTE.TRIGGER_TIME),'mm/dd/yyyy HH24:MI'),

'MISSED_RECORD',
'USER',
SYSDATE,
'USER',
SYSDATE);

COMMIT;

END;


Kindly provide me the solution
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 16 2008
Added on May 19 2008
2 comments
578 views