我喜欢从表中获取100条记录并获取相同记录的ROWID并将其存储在数组中。然后我喜欢拿第一条记录的rowid并做一些处理。
你能告诉我怎么办?
答案 0 :(得分:0)
您需要创建一个ROWID类型的数组,然后编写一个SELECT查询以将这些rowid放入数组中。像这样:
DECLARE
TYPE t_rowids IS TABLE OF ROWID INDEX BY PLS_INTEGER;
vt_rowids t_rowids;
BEGIN
SELECT ROWID ROW_ID
BULK COLLECT INTO vt_rowids
FROM table t
WHERE your_conditions...
AND ROWNUM <= 100; -- if you just want 100 records
FOR i IN vt_rowids.first()..vt_rowids.last() LOOP
-- Do your processing here...
dbms_output.put_line('rowid: ' || vt_rowids(i));
...
END LOOP;
END;