[英]alter table adding guid column in oracle
更改包含约一千万行的表的语句是什么,添加一个guid
列,该列将为每一行保留唯一的标识符(不属于pk的一部分)
全局唯一标识符列应为哪种数据类型? 有创建它的程序吗? 每当插入新记录时,它将如何自动递增或产生?
将其分解为单独的阶段
首先,我们需要一个新列:
alter table MyTable
add guid_column raw(32) default sys_guid();
然后更新现有行:
update MyTable
set guid_column = sys_guid();
避免创建约束的另一种方法是,将原始表上存在的索引添加到新表上,即创建一个包含所有约束,索引和标识列的空表。 让DBA从原始表中提取数据并将其导入“新”表中。
好处:这种方法将确保依赖于源表的所有对象都不会变为无效,这通常会妨碍应用程序的某些功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.