U0530007:TaurusDB for PostgreSQL将DECIMAL当作BIGINT处理,序列的取值范围超出BIGINT表示范围
描述
数据库类型与版本
- 源库类型与版本:SQL Server 所有版本。
- 目标库类型与版本:TaurusDB for PostgreSQL 16.4 及以后版本。
语法示例
在SQL Server中定义序列时指定的数据类型DECIMAL和NUMERIC在TaurusDB for PostgreSQL中被作为BIGINT处理,精度超过18时会超出BIGINT的数据范围。示例如下:
SQL Server语法:
-- SQL Server中创建成功
-- TaurusDB for PostgreSQL中创建报错:sequence type must have precision 18 or less
CREATE SEQUENCE seq1
as decimal(19)
START WITH 1
INCREMENT BY 1
MINVALUE 1
CYCLE
GO
改造建议
用户需要自行判断是否会对业务造成影响。