返回首页

gbase数据、南大通用产品文档:GBase8ashowdmlstorageevent 命令

更新日期:2024年09月11日

语法
gcadmin showdmlstorageevent [table ID segname nodeip] | ]
注意
若fevent 信息格式有变化,系统中有DML storage event 时不能升级。

GBase UP 产品手册 4 管理员指南

文档版本04(2021-04-21) 南大通用数据技术股份有限公司 182
功能
该命令用来显示当前集群是否有表的数据损坏信息。

示例
$ gcadmin showdmlstorageevent
Event count:2
Event ID: 5
ObjectName: test.t1
TableID: 26

Fail Data Copy:
------------------------------------------------------
SegName: n2 NodeIP: 192.168.153.129 FAILURE


Event ID: 6
ObjectName: test.t2
TableID: 32

Fail Data Copy:
------------------------------------------------------
SegName: n2 NodeIP: 192.168.153.129 FAILURE

syscoldepend 系统目录表跟踪在检查约束和 NOT NULL 约束中指定的表列。由于检查
约束可涉及表中的多列,所以 syscoldepend 表可以对每个检查约束包含多行;为约束所
涉及的每列创建一行。syscoldepend 表具有以下列。


类型
解释
constrid
INTEGER
唯一地标识约束的代码
tabid
INTEGER
唯一地标识表的代码
colno
SMALLINT
表中的列号

constrid、tabid 和 colno 列的组合索引只允许唯一值。tabid 和 colno 列的组合索引允
许重复值。






不以任何特定顺序排列查询的结果。例如:图 4和图 2以随机顺序显示。
可以将 ORDER BY 子句添加到您的 SELECT 语句里指导系统以特定顺序对数据进行排
序。ORDER BY 子句是任何远程或本地表或视图中的列名的列表。投影列表中允许的所有

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 24 -
表达式在 ORDER BY 列表中也允许。如果在 ORDER BY 列表中使用的列具有选择触发
器,那么将不会激活该触发器。
以下查询返回 manufact 表中 manu_code 、manu_name 和 lead_time 列的每一行。并根
据 lead_time 进行排序。
图: 查询
SELECT manu_code, manu_name, lead_time
FROM manufact
ORDER BY lead_time;
对于 GBase 8s,不需要在投影列表中包括您想要在 ORDER BY 子句中使用的列。即,可
以根据不在投影列表中检索的列对数据进行排序。以下查询返回 manufact 表中 manu_code 、
manu_name 列的每一行,并根据 lead_time 进行排序。lead_time 列位于 ORDER BY 子句
中(尽管未包含在投影列表中)。
图: 查询
SELECT manu_code, manu_name
FROM manufact
ORDER BY lead_time;

升序
缺省情况下,
检索到的数据按升序顺序排序。
在 ASCII 字符集中,
升序是从大写字母 A 到
小写字母 z,对于字符数据类型,那么是从最小值到最大值。DATE 和 DATETIME 数据
按照从最早到最新排序,INTERVAL 数据按从时间范围最短到最长排序。

降序
降序与升序相反,
对于字符类型为从小写 z 到大写 A,
对于数字类型为从最大值到最小值。
DATE 和 DATETIME 数据按照从最新到最早排序,
INTERVAL 数据按从时间范围最长到
最短排序。以下查询显示了降序的示例。
图: 查询
SELECT * FROM manufact ORDER BY lead_time DESC;
列名后跟关键字 DESC 导致以降序对检索数据进行排序,如下图所示:
图: 查询结果
manu_code manu_name lead_time

SHM Shimara 30
KAR Karsten 21

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 25 -
PRC ProCycle 9
NKL Nikolus 8
NRG Norge 7
HSK Husky 5
ANZ Anza 5
HRO Hero 4
SMT Smith 3
您可以在 ORDER BY 子句中指定任何内置数据类型的列(TEXT 、BYTE 、BLOB 或
CLOB 除外),数据库服务器根据该列中的值对数据进行排序。

对多个列进行排序
还可以使用 ORDER BY 排序两个或多个列,这会创建嵌套排序。缺省值仍然是升序。在
ORDER BY 子句中最先列出的列优先。
下列查询和图 2及相应的查询结果显示了嵌套排序。要修改显示所选数据的顺序。更改在
ORDER BY 子句中命名的两个列的顺序。
SELECT stock_num, manu_code, description, unit_price
FROM stock
ORDER BY manu_code, unit_price;
查询结果中,manu_code 列数据按字母顺序显示,并且在同一 manu_code(例如:ANZ 、
HRO)中,unit_price 以升序列出。
图: 查询结果
stock_num manu_code description unit_price

5 ANZ tennis racquet $19.80
9 ANZ volleyball net $20.00
6 ANZ tennis ball $48.00
313 ANZ swim cap $60.00
201 ANZ golf shoes $75.00
310 ANZ kick board $84.00

111 SHM 10-spd, assmbld $499.99
112 SHM 12-spd, assmbld $549.00
113 SHM 18-spd, assmbld $685.90
5 SMT tennis racquet $25.00
6 SMT tennis ball $36.00

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 26 -
1 SMT baseball gloves $450.00
下列查询显示了 ORDER BY 子句中列的相反顺序。
图: 查询
SELECT stock_num, manu_code, description, unit_price
FROM stock
ORDER BY unit_price, manu_code;
在此查询结果中,数据按 unit_price 的升序显示,其中两个或多个行具有相同的 unit_price
(例如:$20.00 、$48.00 、$312.00),manu_code 以字母顺序显示。
图: 查询结果
stock_num manu_code description unit_price

302 HRO ice pack $4.50
302 KAR ice pack $5.00
5 ANZ tennis racquet $19.80
9 ANZ volleyball net $20.00
103 PRC frnt derailleur $20.00

108 SHM crankset $45.00
6 ANZ tennis ball $48.00
305 HRO first-aid kit $48.00
303 PRC socks $48.00
311 SHM water gloves $48.00

113 SHM 18-spd, assmbld $685.90
1 HSK baseball gloves $800.00
8 ANZ volleyball $840.00
4 HSK football $960.00
ORDER BY 子句中的列的顺序十分重要,DESC 关键字的位置也很重要。尽管下列查询中
的各语句在 ORDER BY 子句中包含相同的语句,但是每个语句产生的结果并不相同(没
有显示)。
图: 查询
SELECT * FROM stock ORDER BY manu_code, unit_price DESC;

SELECT * FROM stock ORDER BY unit_price, manu_code DESC;


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 27 -
SELECT * FROM stock ORDER BY manu_code DESC, unit_price;

SELECT * FROM stock ORDER BY unit_price DESC, manu_code;