返回首页

gbase数据、南大通用产品文档:GBase8sClient SDK 和 GBase 8s Connect 安装概述

更新日期:2024年09月11日

在安装 Client SDK 或 GBase 8s Connect,或者将客户机应用程序连接到数据
库服务器之前,请先完成适用于您计算机上的 UNIX™ 或 Linux™ 操作系统的准
备步骤。
有关可以安装产品的受支持 UNIX 和 Linux 操作系统的列表,请参阅 GBase 8s 机器
说明。
重要: 以下需求可能会低于系统的需求,这取决于操作系统和环境。
Client SDK 安装需要大约 200 MB 的磁盘空间,GBase 8s Connect 安装需要大约 175
MB 的磁盘空间。
安装需要大约 512 MB RAM。
在 UNIX 或 Linux 上安装之前,
请确保临时目录
(缺省情况下为 /tmp)
中具有 1
GB 的
可用空间。
这样做是为了支持安装介质的解压以及安装程序的运行。
在调用安装程序之
前,可以通过将 IATEMPDIR 环境变量设置为包含足够存储空间的位置来更改此位置。
如果缺省临时位置中的空间不足,安装程序会尝试将信息写入用户帐户的主目录。
注意:

GBase 8s 客户机产品安装指南
南大通用数据技术股份有限公司 - 15 -
 $GBASEDBTDIR 路径(包含路径分隔符)不能超过 200 个字符。
 Client SDK 不支持 RPM 安装。
提示: 请勿使用 back 或 quit 作为 $GBASEDBTDIR 路径中的字符串,也不要将其用在 UNIX
或 Linux 上的任何 GBase 8s 产品安装配置设置(包括密码)中。
使用以下方法在 UNIX 或 Linux 上安装 GBase 8s Client Software Development Kit
(Client SDK)和 GBase 8s Connect:
 安装应用程序
 命令行
 GBase 8s 安装程序
同时查看各产品手册,了解本出版物中未涉及的安装和配置任务。
仅按照 GBase 的许可安装 GBase
8s 产品。
在未重新注册且未获 GBase 书面同意的情
况下,不能将软件从一台计算机转移到另一台计算机或网络的其他部分。

语法格式
DROP VIEW [IF EXISTS] [database_name.]view_name;
DROP VIEW 删除一个视图。用户必须有对每个视图的DROP 权限。
用户可以使用关键词IF EXISTS 防止视图不存在时报告错误。
DROP VIEW 每次只能删除一张视图。
示例
示例1:删除单张视图。
gbase> DROP VIEW IF EXISTS test.v_t;
Query OK, 0 rows affected
物化视图
物化视图(Materialized View)中的数据事先完成原始表的计算,并物化成真实数
据保存在系统中,在查询时不需要再次对原始表进行查询并计算,而是直接从视图
中获取结果。当原始表的数据发生变化时,物化视图中的数据会自动更新。
物化视图支持跨引擎、跨域均是指基表的类型和位置,基表支持跨引擎、跨域的表
作为物化视图的基表。
物化视图支持跨引擎是通过多存储引擎本身的跨引擎功能实现,
跨引擎的计算结果
保存在系统中。
物化视图支持跨域通过VCLINK 跨域功能支持用于计算的基表可跨域部署:
全部存
在于远端、部分存在于远端、存在于多个远端等跨域表的物化结果存储;
远端域和本地域是相互独立的系统,
通过VCLINK 实现跨域访问。
对于物化视图涉
及的远端域的基表发生的数据改变,
跨域物化视图通过发布订阅功能(创建物化视图
时发布并且订阅基表的变化),
实现基表发布和基表的变化订阅,
从而实现跨域数据
变化发现和跨域物化视图的更新。
语法
CREATE [OR REPLACE] MATERIALIZED VIEW REFRESH
COMPLETE ON VIEWREAD AS

如果需要将大量数据赋值给变量,建议使用带BULK COLLECT的SELECT INTO 语句。
该语句或者整个结果集到一个或多个集合变量中。
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
DROP TABLE IF EXISTS t6;

CREATE TABLE t1(id INT, col VARCHAR(30));
CREATE TABLE t2(id INT, col VARCHAR(30));
CREATE TABLE t3(id INT, col VARCHAR(30));
CREATE TABLE t4(id INT, col VARCHAR(100), nid INT);
CREATE TABLE t5(id int, col1 VARCHAR(100), col2 DATE, col3 FLOAT);

GBase 8s PL/SQL手册
南大通用数据技术股份有限公司
- 106 -

CREATE TABLE t6(id int, col1 VARCHAR(100), col2 DATE, col3 FLOAT, nid INT);

INSERT INTO t5 VALUES(1, 'abc123', '2018-04-13', 3.14);
INSERT INTO t5 VALUES(1, 'def123def', '2018-04-17', 4.14);
INSERT INTO t5 VALUES(5, 'order by test', '2018-04-15', 6.28);
INSERT INTO t5 VALUES(12, 'testwhere', '2018-04-15', 12.56);

DROP PROCEDURE IF EXISTS pro4;

CREATE OR REPLACE PROCEDURE p_6_16 AS
TYPE ty1 IS TABLE OF INT INDEX BY PLS_INTEGER;
TYPE ty2 IS TABLE OF VARCHAR(30) INDEX BY PLS_INTEGER;
TYPE ty3 IS TABLE OF DATE INDEX BY PLS_INTEGER;
TYPE ty4 IS TABLE OF FLOAT INDEX BY PLS_INTEGER;
v_id ty1;
v_col1 ty2;
v_col2 ty3;
v_col3 ty4;
i int :=1;
BEGIN
SELECT id,col1,col2,col3 bulk collect INTO v_id,v_col1,v_col2,v_col3 FROM t5;
while i<=v_id.count loop
insert into t6 values(v_id(i),v_col1(i),v_col2(i),v_col3(i),1000);
i:=i+1;
end loop;
exception
when too_many_rows then
insert into t2 values(1,'too many rows');
when no_data_found then
insert into t2 values(1,'no data found');
end;

DELETE FROM t6;
DELETE FROM t2;
CALL pro4();
SELECT COUNT(*) FROM t6;
SELECT * FROM t6;
SELECT * FROM t2;
END;