返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

enable_instance_metric_persistent
参数说明:设置是否开启实例资源监控转存功能。
开启时,
对实例的监控数据会保存到
GS_WLM_INSTANCE_HISTORY 系统表中。
该参数属于SIGHUP 类型参数,
请参考表GUC 参数设置方式中对应设置方法进行设置。
取值范围:布尔型

on 表示开启实例资源监控转存功能。

off 表示关闭实例资源监控转存功能。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1305
默认值:on

No more data to read or write. Verify your SQLData class or getSQLTypeName()
当 Java™ 用户定义的例程试图读或设置超出数据输入流中可用的不透明类型数据末尾的位
置时,会发生此错误。
请仔细检查数据输入 UDR 代码的不透明类型的长度和结构。
getSQLTypeName() 方法返回
的 SQLTypeName 对象也可能不正确。

子查询表达式主要有以下几种:

EXISTS/NOT EXISTS
EXISTS/NOT EXISTS 的语法图请参见图6-8。
图6-8 EXISTS/NOT EXISTS::=
EXISTS 的参数是一个任意的SELECT 语句,或者说子查询。系统对子查询进行运算以
判断它是否返回行。如果它至少返回一行,则EXISTS 结果就为“真”
;如果子查询没有返
回任何行,EXISTS 的结果是“假”

这个子查询通常只是运行到能判断它是否可以生成至少一行为止,而不是等到全部结
束。
示例:
gbase=# SELECT sr_reason_sk,sr_customer_sk FROM public.store_returns WHERE
EXISTS (SELECT d_dom FROM public.date_dim WHERE d_dom =
store_returns.sr_reason_sk and sr_customer_sk <10);
sr_reason_sk | sr_customer_sk
--------------+----------------
13 |
2
22 |
5
17 |
7
25 |
7
3 |
7
31 |
5
7 |
7
14 |
6

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
604
20 |
4
5 |
6
10 |
3
1 |
5
15 |
2
4 |
1
26 |
3
(15 rows)

IN/NOT IN
IN/NOT IN 的语法请参见图6-9。
图6-9 IN/NOT IN::=
右边是一个圆括弧括起来的子查询,
它必须只返回一个字段。
左边表达式对子查询结果
的每一行进行一次计算和比较。如果找到任何相等的子查询行,则IN 结果为“真”
。如果没
有找到任何相等行,则结果为“假”
(包括子查询没有返回任何行的情况)

表达式或子查询行里的NULL 遵照SQL 处理布尔值和NULL 组合时的规则。
如果两个
行对应的字段都相等且非空,
则这两行相等;
如果任意对应字段不等且非空,
则这两行不等;
否则结果是未知
(NULL)

如果每一行的结果都是不等或NULL ,
并且至少有一个NULL ,
则IN 的结果是NULL 。
示例:
gbase=# SELECT sr_reason_sk,sr_customer_sk
FROM public.store_returns WHERE
sr_customer_sk IN (SELECT d_dom FROM public.date_dim WHERE d_dom < 10);
sr_reason_sk | sr_customer_sk
--------------+----------------
10 |
3
26 |
3
22 |
5
31 |
5
1 |
5
32 |
5

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
605
32 |
5
4 |
1
15 |
2
13 |
2
33 |
4
20 |
4
33 |
8
5 |
6
14 |
6
17 |
7
3 |
7
25 |
7
7 |
7
(19 rows)

ANY/SOME
ANY/SOME 的语法图请参见图6-10。
图6-10 any/some::=
右边是一个圆括弧括起来的子查询,它必须只返回一个字段。左边表达式使用operator
对子查询结果的每一行进行一次计算和比较,
其结果必须是布尔值。
如果至少获得一个真值,
则ANY 结果为“真”
。如果全部获得假值,则结果是“假”
(包括子查询没有返回任何行的
情况)
。SOME 是ANY 的同义词。IN 与ANY 可以等效替换。
示例:
gbase=# SELECT sr_reason_sk,sr_customer_sk
FROM public.store_returns WHERE
sr_customer_sk < ANY (SELECT d_dom FROM public.date_dim WHERE d_dom < 10);
sr_reason_sk | sr_customer_sk
--------------+----------------
26 |
3
17 |
7
32 |
5
32 |
5
13 |
2

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
606
31 |
5
25 |
7
5 |
6
7 |
7
10 |
3
1 |
5
14 |
6
4 |
1
3 |
7
22 |
5
33 |
4
20 |
4
33 |
8
15 |
2
(19 rows)

ALL
ALL 的语法请参见图6-11。
图6-11 all::=
右边是一个圆括弧括起来的子查询,它必须只返回一个字段。左边表达式使用operator
对子查询结果的每一行进行一次计算和比较,其结果必须是布尔值。如果全部获得真值,
ALL 结果为“真”
(包括子查询没有返回任何行的情况)
。如果至少获得一个假值,则结果
是“假”

示例:
gbase=# SELECT sr_reason_sk,sr_customer_sk
FROM public.store_returns WHERE
sr_customer_sk < all(SELECT d_dom FROM public.date_dim WHERE d_dom < 10);
sr_reason_sk | sr_customer_sk
--------------+----------------
(0 rows)

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
607