返回首页

gbase数据、南大通用产品文档:GBase8s配置连接来使用 SSL 协议

更新日期:2024年09月11日

要配置 GBase 8s JDBC Driver 的数据库连接,来使用“安全套接层”(SSL)协议,需要
将 sslConnection 属性设置为 TRUE。
在至数据源的连接可使用 SSL 协议之前,
必须在数据库服务器中将应用程序连接至的端口
配置为 SSL 监听器端口。
请在 Connection 或 DataSource 实例上设置 sslConnection 属性。下列示例演示如何在
Connection 实例上设置 sslConnection 属性:
java.util.Properties properties = new java.util.Properties();
properties.put("user", "xxxx");
properties.put("password", "yyyy");
properties.put("sslConnection", "true");

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 58 -
java.sql.Connection con =
java.sql.DriverManager.getConnection(url, properties);

功能

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1549
这个参数用于设置当JOIN 两边都不是hash列时,
是否仍强制走hash重分布JOIN。
参数取值含义说明

参数= 0:表示关闭,即当JOIN 两边都不是hash 列时,不使用hash 重分布
JOIN 功能;

参数= 1:
表示开启,
即当JOIN 两边都不是hash 列时,
使用hash 重分布JOIN
功能。
该参数的默认值是1。
表6- 6 参数显示
默认值
最小值
最大值
1
0
1

功能描述
通过MERGE INTO 语句,将目标表和源表中数据针对关联条件进行匹配,若关联条件
匹配时对目标表进行UPDATE,
无法匹配时对目标表执行INSERT。
此语法可以很方便地用
来合并执行UPDATE 和INSERT,避免多次执行。
注意事项
进行MERGE INTO 操作的用户需要同时拥有目标表的UPDATE 和INSERT 权限,以
及源表的SELECT 权限。
语法格式
MERGE [/*+ plan_hint */] INTO table_name [ partition_clause ] [ [ AS ] alias ]
USING { { table_name | view_name } | subquery } [ [ AS ] alias ]
ON ( condition )
[
WHEN MATCHED THEN
UPDATE SET { column_name = { expression | subquery | DEFAULT } |
( column_name [, ...] ) = ( { expression | subquery | DEFAULT } [, ...] ) } [, ...]
[ WHERE condition ]
]
[
WHEN NOT MATCHED THEN
INSERT { DEFAULT VALUES |
[ ( column_name [, ...] ) ] VALUES ( { expression | subquery | DEFAULT } [, ...] ) [, ...]
[ WHERE condition ] }

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1193
];
NOTICE: 'subquery' in the UPDATE and INSERT clauses are only avaliable in
CENTRALIZED mode!
参数说明

plan_hint 子句
以/*+ */的形式在MERGE 关键字后,
用于对MERGE 对应的语句块生成的计划进行hint
调优,详细用法请参见章节使用Plan Hint 进行调优。每条语句中只有第一个/*+ plan_hint */
注释块会作为hint 生效,里面可以写多条hint。

INTO 子句
指定正在更新或插入的目标表。

talbe_name
目标表的表名。

alias
目标表的别名。
取值范围:字符串,符合标识符命名规范。

partition_clause
指定分区MERGE 操作:
PARTITION { ( partition_name ) | FOR ( partition_value [, ...] ) } |
SUBPARTITION { ( subpartition_name ) | FOR ( subpartition_value [, ...] ) }
关键字详见SELECT 一节介绍。
如果value 子句的值和指定分区不一致,会抛出异常。
示例详见CREATE TABLE SUBPARTITION。

alias

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1194
目标表的别名。
取值范围:字符串,符合标识符命名规范。

USING 子句
指定源表,源表可以为表、视图或子查询。

ON 子句
关联条件,用于指定目标表和源表的关联条件。不支持更新关联条件中的字段。

WHEN MATCHED 子句
当源表和目标表中数据针对关联条件可以匹配上时,选择WHEN MATCHED 子句进行
UPDATE 操作。
不支持更新系统表、系统列。
WHEN NOT MATCHED 子句
当源表和目标表中数据针对关联条件无法匹配时,
选择WHEN NOT MATCHED 子句进
行INSERT 操作。
不支持INSERT 子句中包含多个VALUES。
WHEN MATCHED 和WHEN NOT MATCHED 子句顺序可以交换,
可以缺省其中一个,
但不能同时缺省,
不支持同时指定两个WHEN MATCHED 或WHEN NOT MATCHED 子句。

DEFAULT
用对应字段的缺省值填充该字段。
如果没有缺省值,则为NULL。

WHERE condition
UPDATE 子句和INSERT 子句的条件,只有在条件满足时才进行更新操作,可缺省。
不支持WHERE 条件中引用系统列。不建议使用int 等数值类型作为condition,因为int 等

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1195
数值类型可以隐式转换为bool 值(非0 值隐式转换为true,0 转换为false),可能导致非预
期的结果。
示例
-- 创建目标表products 和源表newproducts,并插入数据
CREATE TABLE products
(
product_id INTEGER,
product_name VARCHAR2(60),
category VARCHAR2(60)
);
INSERT INTO products VALUES (1501, 'vivitar 35mm', 'electrncs');
INSERT INTO products VALUES (1502, 'olympus is50', 'electrncs');
INSERT INTO products VALUES (1600, 'play gym', 'toys');
INSERT INTO products VALUES (1601, 'lamaze', 'toys');
INSERT INTO products VALUES (1666, 'harry potter', 'dvd');
CREATE TABLE newproducts
(
product_id INTEGER,
product_name VARCHAR2(60),
category VARCHAR2(60)
);
INSERT INTO newproducts VALUES (1502, 'olympus camera', 'electrncs');
INSERT INTO newproducts VALUES (1601, 'lamaze', 'toys');
INSERT INTO newproducts VALUES (1666, 'harry potter', 'toys');
INSERT INTO newproducts VALUES (1700, 'wait interface', 'books');
-- 进行MERGE INTO 操作
MERGE INTO products p

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1196
USING newproducts np
ON (p.product_id = np.product_id)
WHEN MATCHED THEN
UPDATE SET p.product_name = np.product_name, p.category = np.category WHERE
p.product_name != 'play gym'
WHEN NOT MATCHED THEN
INSERT VALUES (np.product_id, np.product_name, np.category) WHERE np.category =
'books';
MERGE 4
-- 查询更新后的结果
SELECT * FROM products ORDER BY product_id;
product_id |
product_name
| category
------------+----------------+-----------
1501 | vivitar 35mm
| electrncs
1502 | olympus camera | electrncs
1600 | play gym
| toys
1601 | lamaze
| toys
1666 | harry potter
| toys
1700 | wait interface | books
(6 rows)
-- 删除表
DROP TABLE products;
DROP TABLE newproducts;