【发布时间】:2021-01-05 12:00:23
【问题描述】:
我正在尝试将静态唯一值列添加到视图中,该列保留其位置并且在调用视图时不会更改。
这个想法是在视图中有一个唯一标识符,我知道我们可以使用连接表的主键之一作为唯一标识符,但在我的情况下,该主键列存在重复值,因为它与多个表连接。
我尝试了 Rand()、NEWID()、ABS(CHECKSUM(NEWID())),它们确实起到了作用,但没有完全地。 每当调用视图时,它们都有不同的唯一值,我需要一个唯一值来表示一行,并且在调用视图时不会改变。
期待有用的回复。
问候, 阿里·纳瓦兹
【问题讨论】:
-
您可以连接(或以其他方式使用)所涉及的所有表的所有 PK 值 - 这是合乎逻辑的方法。 “一列”(单数)的想法闻起来像 XY problem。
-
我建议您改进您的问题,添加一些示例,一些代码并使其更清晰,并添加您的源代码,看看这里 => How to create a Minimal, Reproducible Example
-
根据定义,必须至少有一列具有主键,否则您会不必要地复制数据
标签: sql sql-server view primary-key uniqueidentifier