暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A 扩展语法

墨天轮 2019-10-12
1400

扩展语法

GaussDB 200提供了一些扩展语法,目前处于Beta阶段,仅供内部使用,外部不可用。

下表列举了GaussDB 200中支持的扩展语法,不作为商用特性交付,仅供参考。

表1 扩展SQL语法

类别

语法关键字

描述

创建表(CREATE TABLE)

[ WITH ( {storage_parameter = value} [, ... ] ) | WITH OIDS | WITHOUT OIDS ]

建表时是否可以指定OIDS。

INHERITS ( parent_table [, ... ] )

是否支持继承表。

DISTRIBUTE BY { REPLICATION |ROUNDROBIN | {[HASH|MODULO ] ( column_name ) } }

开关打开情况下,本地表支持roundrobin和modulo分布方式。

TO { GROUP groupname | NODE ( nodename [, ... ] ) }

是否支持用TO NODE/GROUP指定表数据将要分布的数据节点列表。

column_constraint:

REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ][ ON DELETE action ] [ ON UPDATE action ]

是否支持用REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] 为表创建外键约束。

table_constraint:

EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] ) index_parameters [ WHERE ( predicate ) ] | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]

[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ]

不支持用EXCLUDE [ USING index_method ] ( exclude_element WITH operator [, ... ] )为表创建排除约束。

修改表(ALTER TABLE)

TO { GROUP groupname | NODE ( nodename [, ... ] ) }

修改表数据分布的数据节点列表。

DELETE NODE ( nodename [, ... ] )

删除表数据分布的数据节点。

加载模块

CREATE EXTENSION

把一个新的模块(例如DBLINK)加载进当前数据库中。

ALTER EXTENSION

修改已加载的模块。

DROP EXTENSION

删除已加载的模块。

聚集函数

CREATE AGGREGATE

定义一个新的聚集函数。

ALTER AGGREGATE

修改一个聚集函数的定义。

DROP AGGREGATE

删除一个现存的聚集函数。

操作符

CREATE OPERATOR

定义一个新的操作符。

ALTER OPERATOR

修改一个操作符的定义。

DROP OPERATOR

从数据库中删除一个现存的操作符。

操作符类

CREATE OPERATOR CLASS

定义一个新的操作符类。

ALTER OPERATOR CLASS

修改一个操作符类的定义。

DROP OPERATOR CLASS

删除一个现有操作符类。

操作符族

CREATE OPERATOR FAMILY

定义一个新的操作符族。

ALTER OPERATOR FAMILY

修改一个操作符族的定义。

DROP OPERATOR FAMILY

删除一个已有的操作符族。

文本检索解析器

CREATE TEXT SEARCH PARSER

创建一个新的文本检索解析器。

ALTER TEXT SEARCH PARSER

修改文本检索解析器。

DROP TEXT SEARCH PARSER

删除现有的文本检索解析器。

文本检索模板

CREATE TEXT SEARCH TEMPLATE

创建一个新的文本检索模板。

ALTER TEXT SEARCH TEMPLATE

修改文本检索模板。

DROP TEXT SEARCH TEMPLATE

删除现有的文本检索模板。

排序规则

CREATE COLLATION

创建排序规则。

排序规则使得用户可以定义数据在列级,甚至是操作级的排序规则和字符分类行为。

ALTER COLLATION

修改排序规则。

DROP COLLATION

删除排序规则。

规则

CREATE RULE

创建规则。

规则是在指定表上执行指定动作的时候,将执行一些额外的动作。

DROP RULE

删除规则。

生成一个通知

NOTIFY

NOTIFY命令发送带有可选的“有效载荷”字符串的通知给先前执行监听数据库中指定的同一渠道的每一个客户端。

监听一个通知

LISTEN

给当前会话注册一个监听器。

停止监听通知信息

UNLISTEN

清除本次会话注册的所有监听器。

加载或重新加载一个共享库文件

LOAD

加载一个共享库文件到数据库服务器的地址空间。

释放一个数据库的会话资源

DISCARD

释放与此数据库会话的相关资源。

过程语言

CREATE LANGUAGE

注册一个新的语言。

ALTER LANGUAGE

修改一个过程语言的定义。

DROP LANGUAGE

删除一个过程语言。

CREATE DOMAIN

创建一个新的域。

ALTER DOMAIN

修改现有域的定义。

DROP DOMAIN

删除一个域。

编码转换

CREATE CONVERSION

定义字符集之间的转换。

ALTER CONVERSION

修改一个编码转换的定义。

DROP CONVERSION

删除一个先前定义过的编码转换。

类型转换

CREATE CAST

定义一个新的转换。一个转换说明如何在两个类型之间进行转换。

DROP CAST

删除一个先前定义过的类型转换。

创建游标

CURSOR name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] [ WITH HOLD ] FOR query

INSENSITIVE:

这个关键字没有什么作用,只在为了兼容SQL标准。

SCROLL:声明该游标可以用于反向检索。

WITH HOLD:声明该游标可以在创建它的事务成功提交后继续使用。

移动游标

MOVE BACKWARD

反向移动游标,需与SCROLL结合才能使用。


查看更多:华为GaussDB 200 SQL参考附录
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论