![]() |
1
1
Oracle解决方案:给定表some_table,列id为主键:
您应该能够在PostgreSQL中运行类似的程序,只需使用分析函数row_number而不是Oracle的rownum。我对其他发动机不太确定。 对于引用表,只需确保外键约束为ON UPDATE CASCADE即可。 |
|
2
1
对于Oracle
a) 。如果有表引用了您想要更新的表,那么您必须做的第一件事就是禁用外键约束。您可以生成所有
b) 。运行生成的ALTER语句。 c) 。接下来,您必须生成新的ID。您可以添加新列来保存这些值,也可以创建一个临时表。新列方法:
d) 。填充列:
e) 。以这种方式更新每个从属表中的ID:
f) 。更新表-将ID从临时列移动到ID为的实际列:
g) 。从表中删除临时列:
h) 。ENABLE依赖表上的约束(使用查询从点a生成约束),只需将DISABLE替换为ENABLE即可。 |
|
3
1
对于PostgreSQL:
这将用(1,2,…)替换ID并保存它们的顺序。 |
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
Peter Schofield · 类型转换Postgresql 6 月前 |
![]() |
Kevin Smeeks · Pyspark JDBC分区读取 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |