Обычно делаю просто
update t1 set value='blablabla';Но встречаются поля с unique constraint. Например, номера телефонов клиентов. Для них надо генерировать случайные данные. В таких случаях использую следующее:
DECLARE
CURSOR smsid
IS
SELECT ID
FROM sms;
randnum VARCHAR2 (20);
updated_rowcnt INTEGER;
BEGIN
FOR smsidrec IN smsid
LOOP
updated_rowcnt := 0;
WHILE updated_rowcnt = 0
LOOP
randnum := TO_CHAR (round(DBMS_RANDOM.VALUE (1000000, 999999999),0));
UPDATE sms
SET c_phone = randnum
WHERE ID = smsidrec.id AND NOT EXISTS (SELECT 1
FROM sms
WHERE c_phone = randnum);
updated_rowcnt := SQL%ROWCOUNT;
END LOOP;
END LOOP;
END;
/
Комментариев нет:
Отправить комментарий