返回首页

gbase数据、南大通用产品文档:GBase8sIF THEN ELSIF语句

更新日期:2024年09月11日

在这个例子中,当sales大于50000时,第一个和第二个条件是正确的。但是,因为第
一个条件是正确的,所以分配了bonus值1500,而第二个条件没有经过测试。在bonus被
分配了价值之后,控制传递到DBMS_OUTPUT.PUT_LINE调用。
DECLARE PROCEDURE p (sales NUMBER) IS
bonus NUMBER := 0;
BEGIN
IF sales > 50000 THEN
bonus := 1500;
ELSIF sales > 35000 THEN
bonus := 500;
ELSE
bonus := 100;
END IF;
DBMS_OUTPUT.PUT_LINE ('Sales = ' || sales || ', bonus = ' || bonus || '.');
END p;
BEGIN
p(55000);
p(40000);
p(30000);
END;

--Result:
--Sales = 55000, bonus = 1500.
--Sales = 40000, bonus = 500.
--Sales = 30000, bonus = 100.

使用 RAISE EXCEPTION 语句模拟错误的生成。
语法

元素
描述
限制
语法
error_text
SPL 变量或表达式,包
含错误文本 -746 的错
误消息
必须是字符数据类型并
且在语句块中有效
标识符; 表
达式
ISAM_error
SPL 变量或代表 ISAM
错误号的表达式SPL。
缺省值为 0。
必须返回 SMALLINT 范
围中的值。可以在错误
号前指定一个一元减号
表达式
SQL_error
SPL 变量或表达式,代
表 SQL 错误号
同 ISAM_error
表达式
用法
使用 RAISE EXCEPTION 语句模拟错误或通过定制消息生成错误。ON
EXCEPTION 语句可捕捉生成的异常。
如果省略 ISAM_error,则当出现异常时,数据库服务器将 ISAM 错误代码设置
为零(0)。如果希望指定 error_text ,但不指定 ISAM_error 值,则指定零
(0)为 ISAM_error 的值。
RAISE EXCEPTION 语句可以产生系统生成的异常或用户生成的异常。例如,以下
语句产生错误号 -208:
RAISE EXCEPTION -208, 0;
此处在 EXCEPTION 关键字后需要减号(- )用于错误 -208;大多数错误代码是
负整数。

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 1236
特殊的错误号 -746
特殊的错误号 -746 允许您生成定制的消息。例如,以下语句产生错误号 -746
并返回引号中的文本:
RAISE EXCEPTION -746, 0, 'You broke the rules';
在下列示例中,alpha 的负值产生异常 -746 并提供描述该问题的特定消息。代
码中应包含 ON EXCEPTION 语句,它俘获异常 -746。
FOREACH SELECT c1 INTO alpha FROM sometable
IF alpha < 0 THEN
RAISE EXCEPTION -746, 0, 'a < 0 found' -- emergency exit
END IF
END FOREACH
当执行 SPL 例程并满足 IF 条件时,数据库服务器返回以下错误:
-746: a < 0 found.
有关作用域和异常兼容性的更多信息,请参阅 ON EXCEPTION。
相关语句
ON EXCEPTION

语法
SHOW
RESOURCE
POOL
STATUS
ON
{coordinators
|
nodes} WHERE resource_pool_name = 'pool_name' AND vc_name=’xxxx’;
示例
gbase> SHOW RESOURCE POOL STATUS ON coordinators WHERE resource_pool_name =
'pool1' and vc_name='vcname000001';
+--------------+------------------+--------------------+----------+---------------+------------------+----------------
--+---------------------+---------+--------------+
| NODE_NAME
| RESOURCE_POOL_ID | RESOURCE_POOL_NAME | PRIORITY |
SERVIED_TASKS
|
WAITING_AVG_TIME
|
RUNNING_AVG_TIME
|
SAMPLE_TIME
| VC_ID
| VC_NAME
|
+--------------+------------------+--------------------+----------+---------------+------------------+----------------
--+---------------------+---------+--------------+
| coordinator1 |
65561 | pool1
|
2 |
0 |
0 |
0 | 2018-07-04 17:38:02 | vc00001 | vcname000001 |
| coordinator1 |
65576 | pool1
|
2 |
0 |
0 |
0 | 2018-07-04 17:38:24 | vc00001 | vcname000001 |
| coordinator1 |
65585 | pool1
|
2 |
0 |
0 |
0 | 2018-07-04 17:38:45 | vc00001 | vcname000001 |
| coordinator1 |
65594 | pool1
|
2 |
0 |
0 |
0 | 2018-07-04 17:39:06 | vc00001 | vcname000001 |

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
500
| coordinator1 |
65711 | pool1
|
1 |
6 |
0 |
0 | 2018-07-04 17:39:26 | vc00001 | vcname000001 |
| coordinator1 |
458778 | pool1
|
2 |
0 |
0 |
0 | 2018-07-05 09:29:00 | vc00001 | vcname000001 |
| coordinator1 |
458791 | pool1
|
2 |
0 |
0 |
0 | 2018-07-05 09:29:22 | vc00001 | vcname000001 |
| coordinator1 |
458800 | pool1
|
2 |
0 |
0 |
0 | 2018-07-05 09:29:44 | vc00001 | vcname000001 |
| coordinator1 |
458809 | pool1
|
2 |
0 |
0 |
0 | 2018-07-05 09:30:05 | vc00001 | vcname000001 |
| coordinator1 |
458926 | pool1
|
1 |
6 |
0 |
0 | 2018-07-05 09:30:22 | vc00001 | vcname000001 |
gbase> SHOW RESOURCE POOL STATUS ON nodes WHERE resource_pool_name = 'pool1'
AND vc_name='vcname000001';
+-----------+---------+--------------+------------------+--------------------+----------+---------------+------------
---+-------------+-----------+------------+--------------+-------------+---------------------+
|
NODE_NAME
|
VC_ID
|
VC_NAME
|
RESOURCE_POOL_ID
|
RESOURCE_POOL_NAME | PRIORITY | RUNNING_TASKS | WAITING_TASKS | CPU_USAGE
| MEM_USAGE | DISK_USAGE | DISK_WRITEIO | DISK_READIO | SAMPLE_TIME
|
+-----------+---------+--------------+------------------+--------------------+----------+---------------+------------
---+-------------+-----------+------------+--------------+-------------+---------------------+
| node1
| vc00001 | vcname000001 |
65561 | pool1
|
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2018-07-04 17:38:07 |
| node1
| vc00001 | vcname000001 |
65576 | pool1
|
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2018-07-04 17:38:29 |
| node1
| vc00001 | vcname000001 |
65585 | pool1
|
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2018-07-04 17:38:51 |
| node1
| vc00001 | vcname000001 |
65594 | pool1
|
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2018-07-04 17:39:12 |
| node1
| vc00001 | vcname000001 |
65711 | pool1
|
1 |

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
501
0 |
0 |
104116128 |
0 |
0 |
0 |
24576 |
2018-07-04 17:39:31 |
| node1
| vc00001 | vcname000001 |
458778 | pool1
|
2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2018-07-05 09:29:05 |