mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-10411 Providing compatibility for basic PL/SQL constructs
Part 13: RETURN vs RETURNS in function definition: CREATE FUNCTION f1(a INT) RETURN INT ... Part 12: No parentheses if no arguments: CREATE FUNCTION f1 RETURN INT ...
This commit is contained in:
@ -1,5 +1,26 @@
|
||||
SET sql_mode=ORACLE;
|
||||
# Testing routines with no parameters
|
||||
CREATE FUNCTION f1 RETURN INT
|
||||
AS
|
||||
BEGIN
|
||||
RETURN 10;
|
||||
END;
|
||||
/
|
||||
SHOW CREATE FUNCTION f1;
|
||||
Function f1
|
||||
sql_mode PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
|
||||
Create Function CREATE DEFINER="root"@"localhost" FUNCTION "f1"() RETURN int(11)
|
||||
AS
|
||||
BEGIN
|
||||
RETURN 10;
|
||||
END
|
||||
character_set_client latin1
|
||||
collation_connection latin1_swedish_ci
|
||||
Database Collation latin1_swedish_ci
|
||||
SELECT f1();
|
||||
f1()
|
||||
10
|
||||
DROP FUNCTION f1;
|
||||
CREATE PROCEDURE p1
|
||||
AS
|
||||
BEGIN
|
||||
@ -24,7 +45,7 @@ SELECT @a;
|
||||
10
|
||||
DROP PROCEDURE p1;
|
||||
# Testing ":=" to set the default value of a variable
|
||||
CREATE FUNCTION f1 () RETURNS NUMBER(10) AS
|
||||
CREATE FUNCTION f1 () RETURN NUMBER(10) AS
|
||||
a NUMBER(10) := 10;
|
||||
BEGIN
|
||||
DECLARE
|
||||
@ -39,7 +60,7 @@ f1()
|
||||
13
|
||||
DROP FUNCTION f1;
|
||||
# Testing labels
|
||||
CREATE FUNCTION f1 (a INT) RETURNS CLOB AS
|
||||
CREATE FUNCTION f1 (a INT) RETURN CLOB AS
|
||||
BEGIN
|
||||
<<label1>>
|
||||
BEGIN
|
||||
@ -58,7 +79,7 @@ SELECT f1(2);
|
||||
f1(2)
|
||||
IS NOT 1
|
||||
DROP FUNCTION f1;
|
||||
CREATE FUNCTION f1 (a INT) RETURNS INT IS
|
||||
CREATE FUNCTION f1 (a INT) RETURN INT IS
|
||||
BEGIN
|
||||
<<label1>>
|
||||
LOOP
|
||||
@ -74,7 +95,7 @@ SELECT f1(4);
|
||||
f1(4)
|
||||
2
|
||||
DROP FUNCTION f1;
|
||||
CREATE FUNCTION f1 (a INT) RETURNS INT AS
|
||||
CREATE FUNCTION f1 (a INT) RETURN INT AS
|
||||
BEGIN
|
||||
<<label1>>
|
||||
WHILE a>0 DO
|
||||
@ -90,7 +111,7 @@ SELECT f1(4);
|
||||
f1(4)
|
||||
2
|
||||
DROP FUNCTION f1;
|
||||
CREATE FUNCTION f1 (a INT) RETURNS INT AS
|
||||
CREATE FUNCTION f1 (a INT) RETURN INT AS
|
||||
BEGIN
|
||||
<<label1>>
|
||||
REPEAT
|
||||
@ -320,7 +341,7 @@ SELECT @p1;
|
||||
@p1
|
||||
p1new
|
||||
DROP PROCEDURE p1;
|
||||
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURNS VARCHAR(20)
|
||||
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURN VARCHAR(20)
|
||||
AS
|
||||
p2 VARCHAR(10);
|
||||
BEGIN
|
||||
@ -356,7 +377,7 @@ SELECT @p1;
|
||||
@p1
|
||||
p1new
|
||||
DROP PROCEDURE p1;
|
||||
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURNS VARCHAR(20)
|
||||
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURN VARCHAR(20)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
|
Reference in New Issue
Block a user