人大金仓 兼容MySQL comment子句解决金仓数据库KingbaseES在创建数据库对象的同时不能添加注释的问题

239 阅读1分钟

兼容MySQL comment子句解决金仓数据库KingbaseES在创建数据库对象的同时不能添加注释的问题

关键字

MySQL、comment

问题描述

无法在定义数据库对象的同时一并为对象添加注释

--列注释
create table kes_tab1(col1 int comment 'column type int');
--表注释
create table kes_tab2(col1 int)comment 'table kes_tab2';
--表和列同时注释
create table kes_tab3(col1 int comment 'column name col1')comment 'table kes_tab3';
--索引注释
create table kes_tab4(col1 int);
create index kes_tab4_idx on kes_tab4(col1)comment 'index kes_tab4_idx';
--函数注释
\set SQLTERM /
CREATE FUNCTION com_dump_fun1() RETURNS int 
comment '!@#$%^&*这是一个注释'
AS 
DECLARE
a1 int;
BEGIN
     return 1;
END;
/
\set SQLTERM ;
--存储过程注释
\set SQLTERM /
CREATE OR REPLACE PROCEDURE com_dump_pro1()
COMMENT 'a procedure'
AS
BEGIN
    raise notice 'a';
END;
/
\set SQLTERM ;

file

问题分析

历史版本中需要用户先完成数据库对象的定义,然后再通过comment on关键字对数据库对象进行注释添加,较为繁琐。

解决方案

为解决该问题,在定义表以及列、索引、函数、存储过程语法树中添加comment子句,以达成功能实现。注:该功能只在MySQL模式支持。

file 更多信息,参见help.kingbase.com.cn/v8/index.ht…