Я хотел бы обновить существующие записи в таблице оракулов случайной строкой (ГГГГ-ДД)
Я успешно создал запрос, который возвращает случайное значение даты, например:
select to_char(TO_DATE('2003/07/09', 'yyyy/mm/dd') + trunc(dbms_random.value(0,(TO_DATE('2003/07/09', 'yyyy/mm/dd')-TO_DATE('2018/07/09', 'yyyy/mm/dd')+1))),
'YYYY-MM') rDate from dual
Но по какой-то причине мой скрипт обновления устанавливает одинаковое значение для всех записей, почему это не случайно?
CREATE TABLE tmp_del_me (
name varchar(255),
year_month_started varchar(255)
);
insert into tmp_del_me (name)VALUES ('a');
insert into tmp_del_me (name)VALUES ('b');
insert into tmp_del_me (name)VALUES ('c');
insert into tmp_del_me (name)VALUES ('d');
UPDATE tmp_del_me
SET year_month_started = (
select to_char(TO_DATE('2003/07/09', 'yyyy/mm/dd') + trunc(dbms_random.value(0,(TO_DATE('2003/07/09', 'yyyy/mm/dd')-TO_DATE('2018/07/09', 'yyyy/mm/dd')+1))),
'YYYY-MM') rDate from dual
)
/
drop table tmp_del_me;