Oracle兼容-存储过程-WHILE


1. 语法

1. WHILE
2. ..
3. LOOP
4. ..
5. END LOOP

2. 定义和用法

在 ORACLE 模式下,GreatSQL在存储过程/存储函数,支持用 WHILE .. LOOP .. END LOOP 语法实现语句块循环。

3. Oracle兼容说明

在 ORACLE 模式下,GreatSQL在存储过程/存储函数,可利用 WHILE .. LOOP .. END LOOP 语句实现循环结构。而在GreatSQL原生语法结构中,是采用 WHILE .. DO .. END WHILE 这种用法。

在 ORACLE 模式下,将不再支持原生的 WHILE .. DO .. END WHILE 语法。

4. 示例

1. greatsql> SET sql_mode = ORACLE;
2. greatsql> DELIMITER //

4. CREATE OR REPLACE PROCEDURE while_loop_sp() AS
5. v1 INT;
6. v2 VARCHAR(255);
7. BEGIN
8. SET v1 = 1;
9. SET v2 = 'GreatSQL SP WHILE LOOP ';

11. WHILE v1 <= 5 loop
12. SET v2 = CONCAT(v2, v1, ',');
13. SET v1 = v1 + 1;
14. END LOOP;
15. SELECT v2;
16. END; //

18. greatsql> CALL while_loop_sp() //
19. +-----------------------------------+
20. | v2                                |
21. +-----------------------------------+
22. | GreatSQL SP WHILE LOOP 1,2,3,4,5, |
23. +-----------------------------------+
24. 1 row in set (0.00 sec)

26. Query OK, 0 rows affected (0.00 sec)

问题反馈

联系我们

扫码关注微信公众号

greatsql-wx