我有一组随机值,大约30个...现在要用这组值随机更新一个大约280W数据的表的一列.我把这组值放到了一个数组array里,然后不管用update t set col = array( round (dbms_random.value(1,30)) )
还是update t set col = array( mod(abs(dbms_random.random),30) + 1 )
都不够随机更新后只有其中几个值...大部分都没随机到...
我想大概是默认用时间当seed,程序太快所以值都一样...有办法解决吗?还是只能改成游标做,我想那样就太慢了.
还是update t set col = array( mod(abs(dbms_random.random),30) + 1 )
都不够随机更新后只有其中几个值...大部分都没随机到...
我想大概是默认用时间当seed,程序太快所以值都一样...有办法解决吗?还是只能改成游标做,我想那样就太慢了.
解决方案 »
- 快来抢分,很简单的SQL问题。。。关于两个表的操作
- 请问oracle精简版+PL DEVELOPER如何创建数据库?
- 请教一个PowerDesigner视图的问题
- 如何把包含'月’的日期字符串转换为数据日期格式
- %rowcount请教
- 任务管理器出现一堆java.exe,purl.exe,cmd.exe,oracle.exe
- 触发器问题,删除的时候加入判断出错,帮忙
- 每次关闭小机时,总提示找不到oracle的OCR设备
- 这个sql语句怎么改?
- 请大家说一下平时使用ORACLE的那种备份方式?
- linux下用ODBC链接Oracle怎么连啊?跪求具体方法!!!
- 关于从db2移植到oracle的存储过程及函数应如何修改(高分在线等)
可以模拟的..
虽然程序要跑2-3分钟...可是只出现了4,5个值...还有20多个值没出现过..分块做是可以...可我现在只更新部分数据,
又要带条件,又要用rownum去划范围..还要循环30次...觉得麻烦...我就想知道我用一条语句时,能不能避免seed集中的问题...