返回首页

gbase数据、南大通用产品文档:GBase8a直通模式SQL 语句

更新日期:2024年09月11日

请求网关直接转发sql 语句到dblink 对象对应的远端数据库执行。
语法格式
passthrough link DBLINK_NAME using ‘SQL_STATEMENT’;
说明

DBLINK_NAME 为dbink 对象的名称;

SQL_STATEMENT 为SQL 语句,即远端数据库执行的SQL 语句;

支持的SQL 语句,除以下支持的SQL 类型外,其它类型的SQL 将报错:
insert into … values…
insert into …select ….
delete
update
truncate
merge
create
drop

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
612
示例
passthrough link testlink using ‘create table t1(a int, b int)’;
passthrough link testlink using ‘insert into t1 values(1,2)’;
passthrough link testlink using ‘update t1 set a=11 where a=1’;
passthrough link testlink using ‘delete from t1 where a=11’;
passthrough link testlink using ‘truncate table t1’;
passthourgh link testlink using ‘drop table t1’;
passthourgh link testlink using ‘select * from t2’ – 报错: SQL command is not supported: ‘select *
from t2’
说明
约束与限制:

dblink 对象对应的网关中的数据源配置的用户需有相应的SQL 执行权限;

只支持自动提交模式。若当前执行passthrough 命令的gclusterd 的session 状态为非自
动提交模式将报错:
Can not join the distributed transaction in session

不支持sql_statement 前面有注释。

UDT length was not set in UDTMetaData
应用程序调用了 UDTManager.createUDTClass(),而之前没有为为不透明类型指定长度。
调用 UDTMetaData.setLength() 指定此不透明类型的总长度。

|按位或
示例
返回“29 | 15”的计算结果。
gbase> SELECT 29 | 15 FROM dual;
+---------+
| 29 | 15 |
+---------+
|
31 |
+---------+
1 row in set
说明
29 对应的比特值为“11101”,15 对应的比特值为“1111”,逐位
进行或操作,结果为“11111”,对应的十进制值为“31”。