我需要像Oracle中的序列一样,在表中生成一个自动递增的数字。我尝试了ROW_NUMBER((和GENERATE_UUID((,GENERATE_array((,但没有帮助。
我们的表将是每日加载的,列值应该具有自动增量。我们谈论的表格数据将是数百万。有人能帮忙吗?
谨致问候,古鲁
BigQuery不像大多数OLTP供应商(例如oracle、sql(那样具有自动递增序列号。我建议简单地将您的业务密钥(例如SHA1(concat(key1,key2,etc((散列为MyKey(来创建PK并保持原样。
如果你对一个自动递增的整数一筹莫展,那么你需要构建一个传递两个值的函数:
- ID(目标表中的当前最大ID(
- Rowcount(源表中的行数(
然后,函数可以返回一个递增ID的列表,您需要在插入之前或插入期间添加源。
这是我对如何做到这一点的最佳猜测