返回首页

gbase数据、南大通用产品文档:GBase8a布尔值

更新日期:2024年09月11日

常量TRUE 相当于1,而常量FALSE 相当于0。
常量的名字对大小写不敏感。
示例
示例1:查询TRUE 和FALSE 对应的值。
gbase> SELECT TRUE, true, FALSE, false FROM dual;
+------+------+-------+-------+
| TRUE | TRUE | FALSE | FALSE |
+------+------+-------+-------+
|
1 |
1 |
0 |
0 |
+------+------+-------+-------+
1 row in set

相关子查询是引用不列在其 FROM 子句中的表的列的子查询。该列可以在 Projection 子
句或在 WHERE 子句中。要查找相关子查询引用的表,搜索列直到找到相关为止。
通常,相关子查询会降低性能。在子查询中使用表名或别名,这样就不会对所在的表产生
疑问。
数据库服务器将使用外查询来获取值。
例如:
如果表 taba 具有列 col1,
表 tabb 具有列 col2,
并且它们包含以下内容:
taba.col1 aa,bb,null
tabb.col2 bb, null
那么查询为:
select * from taba where col1 in (select col1 from tabb);

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 134 -
那么结果可能会毫无意义。数据库服务器将提供 taba.col1 中所有的值,并接着它们
与 taba.col1 进行比较(外查询 WHERE 子句)。这将返回所有的行。通常使用子查询从内
表返回列值。如果查询写成:
select * from taba where col1 in (select tabb.col1 from tabb);
那么将导致错误 error -217 column not found。
相关子查询的重要功能是,由于它取决于来自外部 SELECT 的值。所以必须重复执行它,
对外部 SELECT 产生的每个值执行一次。非相关子查询只能执行一次。

GBASEDBTSTACKSIZE 环境变量指定适用于所有客户机进程的堆栈大小 (KB)。在客户
机环境中为 GBASEDBTSTACKSIZE 设置的任何值将被数据库服务器忽略。

size 是一个整数,用于设置 SQL 客户机线程的堆栈大小 (KB)。
例如,要将 GBASEDBTSTACKSIZE 降至 20 KB,请输入以下命令:

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 185 -
setenv -STACKSIZE 20
如果未设置 GBASEDBTSTACKSIZE,那么从数据库服务器配置参数 STACKSIZE 获取堆
栈大小,否则堆栈大小的缺省值为特定于平台的值。对于非递归数据库活动,SQL 客户机
的主线程的缺省堆栈大小值为 32 KB。
警告: 有关设置此值的指示信息,请参阅《GBase 8s 管理员参考》。如果
GBASEDBTSTACKSIZE 的值设置得不正确,可能导致数据库服务器产生故障。