Created
August 18, 2010 10:03
-
-
Save cheinema/534224 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE bulk (x NUMBER(9), y NUMBER(9)); | |
INSERT INTO bulk(x,y) VALUES (0,0); | |
INSERT INTO bulk(x,y) VALUES (1,1); | |
DECLARE | |
CURSOR vac_bulk IS | |
SELECT t.ROWID AS tRowID, t.x, t.y FROM bulk t; | |
TYPE t_bulk IS TABLE OF vac_bulk%ROWTYPE; | |
vaa_bulk_tmp t_bulk; | |
van_bulkcollectsize NUMBER := 100; | |
BEGIN | |
OPEN vac_bulk; | |
LOOP | |
FETCH vac_bulk | |
BULK COLLECT INTO vaa_bulk_tmp LIMIT van_bulkcollectsize; | |
FOR i IN 1 .. vaa_bulk_tmp.COUNT LOOP | |
UPDATE bulk SET y = vaa_bulk_tmp(i).y + 1 WHERE ROWID = vaa_bulk_tmp(i).tRowID; | |
END LOOP; | |
EXIT WHEN vaa_bulk_tmp.COUNT < van_bulkcollectsize; | |
END LOOP; | |
CLOSE vac_bulk; | |
END; | |
/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment