在创建该表之后,如何更改要在HANA DB中增加的列?

问题描述

我想要一个具有以下属性的表:

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;

Result