name: warehouse-table-sql description: 根据提示词从目标数据库查找表并生成数据仓库建表SQL代码 license: MIT compatibility: opencode metadata: audience: data engineers
本技能帮助用户根据自然语言提示词,从业务数据库中查找对应的数据表,并生成数据仓库的建表SQL代码。技能会分析业务数据推断字段含义,为每个字段和表生成详细的中文注释。
在使用本技能前,请确保以下信息已明确:
svc-code)my-remote-mcp_field_matcher)根据中文表名或字段描述查找对应的数据库表sql
CREATE TABLE IF NOT EXISTS your_table_name (
id BIGINT NOT NULL COMMENT '主键ID',
name VARCHAR(50) COMMENT '名称',
value INT COMMENT '数值',
update_time DATETIME COMMENT '更新时间'
)
UNIQUE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 10
PROPERTIES (
"replication_num" = "1",
"enable_unique_key_merge_on_write" = "true"
);
核心原理:UNIQUE KEY字段会被视为逻辑主键,相同数据自动覆盖。覆盖逻辑是新数据完全覆盖具有相同UNIQUE KEY的整行旧数据。{项目路径}/sql/warehouse_tables/-- 数据仓库建表语句 (Doris)
-- 表中文描述:用户基本信息表,存储系统注册用户的身份信息和联系方式
-- 源表:用户信息表 (user_info)
CREATE TABLE IF NOT EXISTS dw_user_info (
user_id BIGINT COMMENT '用户唯一标识符,系统自动生成的主键ID',
user_name VARCHAR(100) COMMENT '用户真实姓名,用于身份识别和显示',
email VARCHAR(200) COMMENT '用户电子邮箱地址,用于登录和接收通知',
phone VARCHAR(20) COMMENT '用户手机号码,用于登录验证和联系',
status TINYINT COMMENT '用户状态:0-禁用,1-正常,2-锁定',
created_at DATETIME COMMENT '用户注册时间,记录账户创建时间戳',
updated_at DATETIME COMMENT '最后更新时间,记录用户信息修改时间'
) ENGINE=OLAP
-- 使用UNIQUE KEY模型实现主键去重,相同user_id的数据会自动覆盖
UNIQUE KEY(user_id)
DISTRIBUTED BY HASH(user_id) BUCKETS 10
PROPERTIES (
"replication_num" = "1",
-- 启用写时合并模式以获得最佳查询性能
"enable_unique_key_merge_on_write" = "true"
);
-- 表注释:此表用于存储用户核心信息,支持用户管理和身份验证功能
COMMENT ON TABLE dw_user_info IS '用户基本信息表,包含用户身份、联系方式和状态信息';
my-remote-mcp_field_matcher:用于根据中文字段名匹配数据库表信息,获取字段元数据