返回首页

gbase数据、南大通用产品文档:GBase8sonbar 参数:备份存储空间(SQL 管理 API)

更新日期:2024年09月11日


随同 admin() 或 task() 函数,使用 onbar 参数来备份存储空间。
语法

元素
描述
关键考虑
onbar backup
执行存储空间的完全备份
如果您未指定级别,则执行 0 级备份。
whole system
执行全系统备份
这个等同于从命令行发出带有 -w 选项的
onbar 命令。
如果您未指定级别,
则执行 0 级
备份。
level level 指定在存储空间上执行的备
份级别:

0 代表完全备份。

是缺省值。

1 表示自从最后 0
级备份以来的更改

2 表示自从最后 1
级备份以来的更改
如果您需要增量备份且尚未执行特定存储空
间的级别备份,
则这个功能在先前的级别备份
存储空间。
例如,如果您需要 1 级备份,且该函数发现
无 0 级备份,则改为进行 0 级备份。
这等同于从命令行发出带有 -L level 选项
的 onbar 命令。
logs
执行逻辑日志文件的备份
这等同于从命令行发出带有 -l 选项的
onbar 命令。

用法
这个函数等同于调用 onbar 命令的特定选项来创建存储空间和逻辑日志文件的备份。
示例
下列示例创建存储空间的 0 级备份:
EXECUTE FUNCTION task("onbar backup");
下列示例创建存储空间的 1 级备份:
EXECUTE FUNCTION task("onbar backup level 1");

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 757 -

下列示例创建逻辑日志文件的 1 级备份:
EXECUTE FUNCTION task("onbar backup logs");
下列示例创建存储空间的全系统 0 级备份:
EXECUTE FUNCTION task("onbar backup whole system");
下列示例创建存储空间的全系统 2 级备份:
EXECUTE FUNCTION task("onbar backup whole system level 2");

数据库服务器支持浮点值的以下数据类型。

SQL 浮点数据类型
ESQL/C 或 C 语言类型
值的范围
SMALLFLOAT, REAL
float
单精度值可达到 9 位有效数字
FLOAT, DOUBLE
PRECISION
double
双精度值可达到 17 位有效数字
DECIMAL(p)
decimal
绝对值的范围 10-130 - 10124
声明浮点主机变量
当使用 C float 数据类型时(对于 SMALLFLOAT 值),请注意大多数 C 编译程序
将 float 作为 double 数据类型传递给函数。如果您声明函数参数为 float,可能接收一个
不正确的结果。例如:在以下摘录中,:hostvar 可能在 tab1 中产生一个不正确的值,这
取决于当您的程序将它作为参数传递时,C 编译程序如何处理 float 数据类型。

main()
{
double dbl_val;

EXEC SQL connect to 'mydb';
ins_tab(dbl_val);


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 114 -

}

ins_tab(hostvar)
EXEC SQL BEGIN DECLARE SECTION;
PARAMETER double hostvar;
EXEC SQL END DECLARE SECTION;
{
EXEC SQL insert into tab1 values (:hostvar, ...);
}
隐式数据转换
当 GBase 8s ESQL/C 程序将浮点列值提取到字符主机变量
(char 、
fixchar 、
varchar
或 string)中时,它仅包含可以适合字符缓冲区的 decimal 数字数。如果主机变量对于浮
点数的完整精度来说太小,
则 GBase 8s ESQL/C 将该数字舍入到主机变量可以容纳的精度。


在以下的代码段中,GBase 8s ESQL/C 程序从名为 principal 的 FLOAT 列中将值

语法
CASE value WHEN [compare-value] THEN result [WHEN [compare-value]
THEN result ...] [ELSE result] END
函数说明
逐一匹配,当满足value=compare-value 时,返回对应的result,如果未找到匹配
项,则返回ELSE 后的result。如果没有ELSE 子句,默认返回NULL。
如果条件中compare-value 有重叠,即value 值满足多个compare-value 条件时,
只返回第一个满足的值。
语法
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...]
[ELSE result] END
函数说明
逐一判断,
当condition 为TRUE 时,
返回对应的result,
如果condition 全为FALSE,
则返回ELSE 后的result。如果没有ELSE 子句,默认返回NULL。
一个CASE 表达式的默认返回值类型是所有返回值的相容集合类型,具体情况视
其所在语境而定:
如用在字符串语境中,则返回结果为字符串;
如用在数字语境中,则返回结果为十进制值的实数值或整数值。
示例
示例1:value=compare-value,返回对应的result 值。
gbase> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE
'more' END FROM dual;
+-------------------------------------------------------------+
| CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END
|
+-------------------------------------------------------------+
| one
|
+-------------------------------------------------------------+
1 row in set
示例2:condition 为TRUE 时,返回对应的result 值。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
675
gbase> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END FROM
dual;
+---------------------------------------------+
| CASE WHEN 1>0 THEN 'true' ELSE 'false' END
|
+---------------------------------------------+
| true
|
+---------------------------------------------+
1 row in set
示例3:value 不等于compare-value,返回值为NULL。
gbase> SELECT CASE 'c' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END
FROM dual;
+-----------------------------------------------+
| CASE 'c' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END
|
+-----------------------------------------------+
|
NULL |
+-----------------------------------------------+
1 row in set