mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-10411 Providing compatibility for basic PL/SQL constructs
Part 19: CONTINUE statement
This commit is contained in:
@ -946,3 +946,84 @@ SELECT f1(3,3,0), f1(3,3,1), f1(3,3,2), f1(3,3,3), f1(3,3,4) FROM DUAL;
|
||||
f1(3,3,0) f1(3,3,1) f1(3,3,2) f1(3,3,3) f1(3,3,4)
|
||||
3000 3003 3006 3009 3009
|
||||
DROP FUNCTION f1;
|
||||
# Testing CONTINUE statement
|
||||
CREATE FUNCTION f1(a INT) RETURN INT
|
||||
AS
|
||||
total INT:= 0;
|
||||
BEGIN
|
||||
FOR i IN 1 .. a
|
||||
LOOP
|
||||
IF i=5 THEN
|
||||
CONTINUE;
|
||||
END IF;
|
||||
total:= total + 1;
|
||||
END LOOP;
|
||||
RETURN total;
|
||||
END;
|
||||
/
|
||||
SELECT f1(3), f1(4), f1(5), f1(6) FROM DUAL;
|
||||
f1(3) f1(4) f1(5) f1(6)
|
||||
3 4 4 5
|
||||
DROP FUNCTION f1;
|
||||
CREATE FUNCTION f1(a INT) RETURN INT
|
||||
AS
|
||||
total INT:= 0;
|
||||
BEGIN
|
||||
<<lj>>
|
||||
FOR j IN 1 .. 2
|
||||
LOOP
|
||||
FOR i IN 1 .. a
|
||||
LOOP
|
||||
IF i=5 THEN
|
||||
CONTINUE lj;
|
||||
END IF;
|
||||
total:= total + 1;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
RETURN total;
|
||||
END;
|
||||
/
|
||||
SELECT f1(3), f1(4), f1(5) FROM DUAL;
|
||||
f1(3) f1(4) f1(5)
|
||||
6 8 8
|
||||
DROP FUNCTION f1;
|
||||
CREATE FUNCTION f1(a INT) RETURN INT
|
||||
AS
|
||||
total INT:= 0;
|
||||
BEGIN
|
||||
<<lj>>
|
||||
FOR j IN 1 .. 2
|
||||
LOOP
|
||||
FOR i IN 1 .. a
|
||||
LOOP
|
||||
CONTINUE lj WHEN i=5;
|
||||
total:= total + 1;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
RETURN total;
|
||||
END;
|
||||
/
|
||||
SELECT f1(3), f1(4), f1(5) FROM DUAL;
|
||||
f1(3) f1(4) f1(5)
|
||||
6 8 8
|
||||
DROP FUNCTION f1;
|
||||
CREATE FUNCTION f1(a INT) RETURN INT
|
||||
AS
|
||||
total INT:= 0;
|
||||
i INT:= 1;
|
||||
BEGIN
|
||||
WHILE i <= a
|
||||
LOOP
|
||||
i:= i + 1;
|
||||
IF i=6 THEN
|
||||
CONTINUE;
|
||||
END IF;
|
||||
total:= total + 1;
|
||||
END LOOP;
|
||||
RETURN total;
|
||||
END;
|
||||
/
|
||||
SELECT f1(3), f1(4), f1(5), f1(6) FROM DUAL;
|
||||
f1(3) f1(4) f1(5) f1(6)
|
||||
3 4 4 5
|
||||
DROP FUNCTION f1;
|
||||
|
Reference in New Issue
Block a user