我必须用随机值更新表中的“varchar2”列,但问题是该列是用“唯一”约束定义的,因此我收到“违反唯一约束”的错误消息。
有人可以帮忙吗?
谢谢
我必须用随机值更新表中的“varchar2”列,但问题是该列是用“唯一”约束定义的,因此我收到“违反唯一约束”的错误消息。
有人可以帮忙吗?
谢谢
您没有对可能的值进行任何限制,所以为什么不将其设置为一组已知的唯一值,例如整数:
UPDATE table_name SET unique_col = TO_CHAR(ROWNUM);
您可以使用DBMS_RANDOM
包创建随机值并将其插入下表中
INSERT INTO table_name(unique_col) values (DBMS_RANDOM.string('a',n);
这里n可以是表的最大值。有关更多信息,请参阅此处http://oracle-base.com/articles/misc/dbms_random.php
生成的值将unique
取决于值的长度