更改包含约1000万行的表的语句是什么,添加一个guid
列,该列将为每一行保留唯一的标识符(而不是pk的一部分)
全局唯一标识符列应为哪种数据类型? 有创建它的程序吗? 每次插入新记录时,它将如何自动递增或产生?
答案 0 :(得分:2)
将其分为几个单独的阶段
首先,我们需要一个新列:
alter table MyTable
add guid_column raw(32) default sys_guid();
然后更新现有行:
update MyTable
set guid_column = sys_guid();
答案 1 :(得分:1)
另一种避免创建约束的方法是将原始表上存在的索引添加到新表上,即创建一个具有所有约束,索引和标识列的空表。让DBA从原始表中提取数据并将其导入“新”表中。
好处: 这种方法将确保依赖于源表的对象都不会变为无效,这通常会妨碍应用程序的某些功能。