Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- increase NUMBER := 0;
- mainUser NUMBER := 0;
- sqlRun varchar2 (4000) := 'dual';
- CURSOR CS IS SELECT MD.HIS_SERVICE_MEDICALTEST_ID AS MD_ID, CG.AD_CHANGELOG_UU AS CG_UU
- FROM AD_CHANGELOG CG INNER JOIN HIS_SERVICE_MEDICALTEST MD
- ON CG.RECORD_ID = MD.HIS_SERVICE_MEDICALTEST_ID
- WHERE AD_Table_ID=1000039
- AND AD_COLUMN_ID = 1102194
- AND OLDVALUE <> 'NULL'
- AND NEWVALUE = 'NULL'
- AND MD.MAINUSER1_ID IS NULL
- ORDER BY CG.CREATED;
- BEGIN
- DBMS_OUTPUT.ENABLE(NULL);
- FOR RES IN CS LOOP
- BEGIN
- increase := increase + 1;
- SELECT AD_CHANGELOG.OLDVALUE INTO mainUser FROM AD_CHANGELOG WHERE AD_CHANGELOG_UU = RES.CG_UU;
- sqlRun := 'UPDATE HIS_SERVICE_MEDICALTEST SET MAINUSER1_ID = (SELECT EM.AD_USER_ID FROM HIS_EMPLOYEE EM WHERE EM.HIS_EMPLOYEE_ID = TO_NUMBER(''' || mainUser || '''))
- WHERE HIS_SERVICE_MEDICALTEST.HIS_SERVICE_MEDICALTEST_ID = ' || RES.MD_ID || ' ;';
- DBMS_OUTPUT.PUT_LINE (sqlRun);
- if (MOD( increase, 100) = 0) then
- DBMS_OUTPUT.PUT_LINE ('commit;');
- end if;
- rollback;
- EXCEPTION WHEN OTHERS THEN
- DBMS_OUTPUT.PUT_LINE ('err:' || SQLCODE || SUBSTR(SQLERRM, 1, 100) || ' - HIS_SERVICE_MEDICALTEST_ID:' || RES.MD_ID);
- END;
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement