问题描述
CREATE TABLE status
(
identificationnumber BIGINT NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,desc varchar(10)
);
突然,生产表已经创建并且包含大量数据。已在使用的架构:
CREATE TABLE status
(
identificationnumber BIGINT NOT NULL PRIMARY KEY,desc varchar(10)
);
是否可以通过自动增量来更新架构?
解决方法
从技术上讲是可能的,但是可能取决于数据的大小。您可以在TEST / QAS系统中自行检查它,然后将更改应用于生产。 这是我使用的代码:
/*Create example table*/
create column table tst_tab (
x int
);
/*Fill it with some data*/
insert into tst_tab
select 1 from dummy union all
select 2 from dummy union all
select 3 from dummy
;
/*Add identity column*/
alter table tst_tab
add(id int generated by default as identity);
/*Statement 'alter table tst_tab add(id int generated by default as identity)'
successfully executed in 14 ms 281 µs*/
/*Check results*/
select * from tst_tab;