0

新年快乐!:)

random_key我有一个表,在插入时我使用触发器用随机字符串填充列。该列有唯一性约束,但理论上有可能触发器生成的随机字符串不唯一,记录不会被插入。

有没有办法在触发器中避免这种情况?还是我必须创建一个插入程序?

编辑:(从评论中复制并详细说明)

我在这个表中有一个普通的 id,但对于外部使用(互联网),我需要一个完全随机的 id,这样就无法猜到表中下一行的 id。

用 id + 常量加盐可能会起作用。我会考虑的。

从到目前为止的答案来看,似乎没有简单的解决方案可以避免触发器中的重复。这也是一个答案。:)

4

1 回答 1

3

您可以使用SYS_GUID函数。这将返回一个唯一的字符串。

SQL> select sys_guid() from dual;

SYS_GUID()
--------------------------------
D24FC8257402951BE0401AA2C9997E18
于 2013-01-02T14:09:34.370 回答