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
改造建议
用户需要自行判断是否会对业务造成影响。