--------------------------------+ | CREATE OR REPLACE FUNCTION f1 (a INT) | User defined exceptions. | | RETURN INT AS e1 EXCEPTION... | MDEV-10587 | +-----------------------------------------+-----------------------------------+ BEGIN Blocks ------------ +-----------------------------------------+-----------------------------------+ | Oracle syntax | Description | +-----------------------------------------+-----------------------------------+ | BEGIN to start a block | MariaDB uses BEGIN NOT ATOMIC | | | for anyonymous blocks. MDEV-10655 | +-----------------------------------------+-----------------------------------+ | DECLARE is used before BEGIN | DECLARE a INT; b VARCHAR(10); | | | BEGIN v:= 10; END; | +-----------------------------------------+-----------------------------------+ | WHEN DUP_VAL_ON_INDEX THEN NULL ; | Do not require BEGIN..END in | | NULL; WHEN OTHERS THEN NULL | multi-statement exception | | | handlers in THEN clause. | | | MDEV-12088 | +-----------------------------------------+-----------------------------------+ Simple Syntax Compatibility --------------------------- +------------------------------+-----------------+--------------------------+ | Oracle syntax | Version | Description | +------------------------------+-----------------+--------------------------+ | ELSIF | 10.3 | ANSI uses ELSEIF | +------------------------------+-----------------+--------------------------+ | SELECT UNIQUE | 10.3 | Same as SELECT | | | | DISTINCT. MDEV-12086 | +------------------------------+-----------------+--------------------------+ | TRUNCATE TABLE t1 [DROP | 10.3 | DROP STORAGE and REUSE | | STORAGE] or [REUSE STORAGE] | | STORAGE are allowed as | | | | optional keywords for | | | | TRUNCATE TABLE. | | | | MDEV-10588 | +------------------------------+-----------------+--------------------------+ | Subqueries in a FROM clause | 10.6 | SELECT * FROM (SELECT 1 | | without an alias | | FROM DUAL), (SELECT 2 | | | | FROM DUAL) | +------------------------------+-----------------+--------------------------+ | UNION, EXCEPT and INTERSECT | 10.3 | INTERSECT has higher | | all have the same | | precedence than UNION | | precedence. | | and EXCEPT in | | | | non-Oracle modes. | +------------------------------+-----------------+--------------------------+ | MINUS | 10.6 | MINUS is a synonym for | | | | EXCEPT. | +------------------------------+-----------------+--------------------------+ Functions --------- +------------------------------+-----------------+--------------------------+ | Oracle syntax | Version | Description | +------------------------------+-----------------+--------------------------+ | ADD_MONTHS() | 10.6.1 | Added as a wrapper for | | | | DATE_ADD() to enhance | | | | Oracle compatibility. | | | | All modes. | +---------------