从表中获取ROWID并将其存储在数组中

时间:2015-11-13 06:24:26

标签: sql plsql

我喜欢从表中获取100条记录并获取相同记录的ROWID并将其存储在数组中。然后我喜欢拿第一条记录的rowid并做一些处理。

你能告诉我怎么办?

1 个答案:

答案 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;