Azure SQL 数据仓库代理键

m1n*_*keh 5 data-warehouse azure parallel-data-warehouse azure-synapse

因此,Azure SQL 数据仓库不支持标识列,因此处理代理键很棘手。有人对此有任何大胆的解决方案吗?

是我发现的最好的,而且非常可怕。

Rob*_*ley 4

这是最好的选择 - 但您可以在 OVER 子句中使用常量值以避免必须对特定值进行排序,并且不需要使用变量。

INSERT INTO testTgtTable (SrgKey, colA, colB)
SELECT
    ROW_NUMBER() OVER(ORDER BY (SELECT 1)) + (SELECT ISNULL(MAX(SrgKey),0) SK FROM dbo.testTgtTable) SK
  , [colA]
  , [colB]
FROM testSrcTable;
Run Code Online (Sandbox Code Playgroud)