Looks OK to me but the best way to find out is to try it.
________________________________
From: Balwanth B <balwanthdba@xxxxxxxxx>
Sent: Tuesday, March 28, 2017 1:04:35 PM
To: Powell, Mark; Upendra nerilla
Cc: ORACLE-L
Subject: Re: Update 100 rows and sleep for 60 sec
I have modified something like below.. application operation takes place with
that update device gets activated so i need to give some time gap for that.
declare
CURSOR REC_CUR IS
select serialnumber from hdm_mon.TEMP_CDSERIAL
TYPE ROWID_T IS TABLE OF VARCHAR2(50);
ROWID_TAB ROWID_T;
BEGIN
OPEN REC_CUR;
LOOP
FETCH REC_CUR BULK COLLECT INTO ROWID_TAB LIMIT 100;
EXIT WHEN REC_CUR.COUNT=0;
FORALL I IN 1.. ROWID_TAB.COUNT
update device set activated=1 where activated =0 and managed =1 and id=
ROWID_TAB(I);
COMMIT;
dbms_lock.sleep(30);
END LOOP;
CLOSE REC_CUR;
commit;
END;
Does this look good?
On Tue, Mar 28, 2017 at 12:59 PM, Powell, Mark
<mark.powell2@xxxxxxx<mailto:mark.powell2@xxxxxxx>> wrote:
See DBMS_LOCK.SLEEP(n)
where N is how many seconds you want the process to sleep. Though what is the
point of sleeping.
________________________________
From: oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx>
<oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx>> on behalf
of Balwanth B <balwanthdba@xxxxxxxxx<mailto:balwanthdba@xxxxxxxxx>>
Sent: Tuesday, March 28, 2017 12:16:07 PM
To: ORACLE-L
Subject: Update 100 rows and sleep for 60 sec
I am looking for script which will update
Update 100 rows
commit
sleep
then next update 100 rows
follow the same pattern
I have something like below but how do I make sure it sleeps for mentioned time
and does the next 100 rows.
declare
CURSOR REC_CUR IS
select statement;
TYPE ROWID_T IS TABLE OF VARCHAR2(50);
ROWID_TAB ROWID_T;
BEGIN
OPEN REC_CUR;
LOOP
FETCH REC_CUR BULK COLLECT INTO ROWID_TAB LIMIT 5000;
EXIT WHEN REC_CUR%NOTFOUND;
FORALL I IN 1.. ROWID_TAB.COUNT
update statement
COMMIT;
END LOOP;
CLOSE REC_CUR;
END;