需要将A表的memo列用随机字符串更新,可以用dbms_random.String实现,对于行的定位采用了rowid的子查询进行定位。
DECLARE
i INT;
BEGIN
SELECT COUNT(*) INTO i FROM a;
FOR j IN 1 .. i LOOP
dbms_output.put_line('loop i: '||i);
UPDATE a SET memo=dbms_random.string('L',200)
WHERE a.ROWID = (SELECT b.row_id FROM (SELECT ROWID row_id,ROWNUM row_num FROM a ) b WHERE b.row_num=j);
END LOOP;
COMMIT;
END;