在DB2中从开始动态设置标识
我希望能够这样做,以动态设置标识以值开头。可能吗在DB2中从开始动态设置标识,db2,Db2,我希望能够这样做,以动态设置标识以值开头。可能吗 CREATE VARIABLE v_number BIGINT DEFAULT 142; ALTER TABLE txn ALTER COLUMN id SET DATA TYPE BIGINT NOT NULL PRIMARY KEY UNIQUE GENERATED BY DEFAULT AS IDENTITY ( START WITH v_number * 1000000, INCREMENT BY
CREATE VARIABLE v_number BIGINT DEFAULT 142;
ALTER TABLE txn
ALTER COLUMN id SET DATA TYPE BIGINT NOT NULL
PRIMARY KEY UNIQUE
GENERATED BY DEFAULT AS IDENTITY (
START WITH v_number * 1000000, INCREMENT BY 1
);
DDL语句通常需要文字值,因此您需要使用动态SQL:
CREATE VARIABLE v_number BIGINT DEFAULT 142;
EXECUTE IMMEDIATE 'ALTER TABLE txn ' ||
'ALTER COLUMN id SET DATA TYPE BIGINT NOT NULL' ||
'PRIMARY KEY ' ||
'GENERATED BY DEFAULT AS IDENTITY (' ||
'START WITH ' || v_number || '* 1000000 INCREMENT BY 1 )';
没有理由同时声明唯一
和主键
约束-主键值根据定义是唯一的