|
|
1
3
简短的回答是不。 你 能够 在private.station上放置一个代理键,并通过视图公开它,并使用它来标识值的前后。您不需要更改主键或外键关系,但必须通过视图公开一些不可更新的cruft,以便它出现在伪表中。如:
注意,如果使用select*,这可能会破坏旧应用程序。但是,没有显式插入列列表的插入语句应该是正常的。 除此之外,还有 可以 在插入和删除之间进行一些未记录和一致的排序,这样行_number()over(order by nullif(stationid,stationid))将允许您加入这两个行,但我会非常犹豫是否走这条路。非常,非常犹豫。 您是否有意不启用级联更新?它们在可以更新主键值时非常有用。如:
有人可能有更好的把戏。等等看! |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |