如何在不重复整数的情况下随机创建ID列



假设我有一个名为sourcetable的表,带有colAcolBcolC。我只想创建一个具有非重复,独特和随机整数的ID列。我如何在Netezza SQL或使用Proc SQL(SAS)中创建它?

为了确保唯一性,您肯定会将 id限制为主键或唯一。

SAS函数UUIDGENRANUNI是在计算时生成具有很高唯一性可能性的值的候选者。我认为没有任何简单/孤立的功能可以保证100%它不会计算先前返回的值。

UUIDGEN返回一个36字节字符值,例如 170bf2ef-16c7-4b7f-b25b-000333d9679b

RANUNI由1E15缩放将返回具有多达14位数字的整数值。

data want;
  do i = 1 to 100;
    id_v1 = uuidgen();
    id_v2 = floor(1e15 * ranuni(0));
    output;
  end;
  format id_v2 15.;
run;

对于Netezza,请尝试查看,以便如何克服Netezza缺乏独特的约束/参考完整性执行?"

相关内容

  • 没有找到相关文章

最新更新