更新时间:2025-10-22 GMT+08:00
U0100047: 请根据源语句实际场景填写对应数据类型
描述
GaussDB 分布式不支持生成列。
数据库类型与版本
- 源库类型与版本:UGO 支持的 Oracle 版本。
- 目标库类型与版本:UGO 支持的 GaussDB 分布式版本。
语法示例
Oracle脚本:
CREATE TABLE test_con ( createtime TIMESTAMP(3), createdate as (TO_CHAR(createtime, 'YYYYMMDD')) );
改造建议
1、表生成列改成普通表,数据类型为text;
2、生成列的值通过触发器等效实现。
GaussDB改写后的脚本:
CREATE TABLE test_con ( createtime TIMESTAMP(3), createdate text ); CREATE OR REPLACE FUNCTION dsc_fn_generated_test_con() RETURN trigger AS BEGIN NEW.createdate = (NEW.createtime, 'YYYYMMDD'); RETURN NEW; END; / CREATE TRIGGER dsc_tr_generated_test_con BEFORE INSERT OR UPDATE ON test_con FOR EACH ROW EXECUTE PROCEDURE dsc_fn_generated_test_con(); /