这是我的数据集。
P_Id I_id I_Name Qty
1 1 Jeans 1
1 5 Salwar 1
2 3 Socks 1
我要更新此表的创建日期,如下所示:
P_Id I_id I_Name Qty C_dt
1 1 Jeans 1 01-01-2011
1 5 Salwar 1 01-01-2011
2 3 Socks 1 02-05-2013
我希望c_dt对于特定的P_id保持不变。我尝试使用dbms_random,但它一直在变化。我曾经使用过的查询:
update test_ins set c_dt=TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_CHAR(DATE '2000-01-01','J'),TO_CHAR(sysdate,'J'))),'J') where p_id=i;
* i表示每次购买的迭代。
任何帮助表示赞赏。谢谢,Pravellika J
如何使用临时表?逻辑将是这样的:
create table temp_dte as
select distinct p_id,
TO_DATE(TRUNC(DBMS_RANDOM.VALUE(TO_CHAR(DATE '2000-0101', 'J'),
TO_CHAR(sysdate, 'J')
)), 'J') as val
from test_ins;
然后:
update test_ins
set c_dt = (select val from temp_dte td where test_ins.p_id = td.p_id);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句