Details

    Description

      Defining custom exception does not work in ORACLE mode

      as an example:

      CREATE PROCEDURE XYZ() AS
          SOME_NEW_EXCEPTION EXCEPTION;
      BEGIN
         IF true THEN
              DO SOMETHING;
         ELSE
               RAISE SOME_NEW_EXCEPTION;
          ELSEIF;
      END;
      

      Attachments

        Issue Links

          Activity

            User defined exceptions are supported since 10.3.0:

            SET sql_mode=ORACLE;
            DELIMITER $$
            CREATE PROCEDURE p1 (a INT) AS
                SOME_NEW_EXCEPTION EXCEPTION;
            BEGIN
               IF a IS true THEN
                    SELECT 'true';
               ELSE
                     RAISE SOME_NEW_EXCEPTION;
               END IF;
            END;
            $$
            DELIMITER ;
            CALL p1(0);
            

            MariaDB [test]> DELIMITER $$
            MariaDB [test]> CREATE PROCEDURE p1 (a INT) AS
                ->     SOME_NEW_EXCEPTION EXCEPTION;
                -> BEGIN
                ->    IF a IS true THEN
                ->         SELECT 'true';
                ->    ELSE
                ->          RAISE SOME_NEW_EXCEPTION;
                ->    END IF;
                -> END;
                -> $$
            ERROR 1304 (42000): PROCEDURE p1 already exists
            MariaDB [test]> DELIMITER ;
            MariaDB [test]> CALL p1(0);
            ERROR 1644 (45000): Unhandled user-defined exception condition
            

            bar Alexander Barkov added a comment - User defined exceptions are supported since 10.3.0: SET sql_mode=ORACLE; DELIMITER $$ CREATE PROCEDURE p1 (a INT ) AS SOME_NEW_EXCEPTION EXCEPTION; BEGIN IF a IS true THEN SELECT 'true' ; ELSE RAISE SOME_NEW_EXCEPTION; END IF ; END ; $$ DELIMITER ; CALL p1(0); MariaDB [test]> DELIMITER $$ MariaDB [test]> CREATE PROCEDURE p1 (a INT) AS -> SOME_NEW_EXCEPTION EXCEPTION; -> BEGIN -> IF a IS true THEN -> SELECT 'true'; -> ELSE -> RAISE SOME_NEW_EXCEPTION; -> END IF; -> END; -> $$ ERROR 1304 (42000): PROCEDURE p1 already exists MariaDB [test]> DELIMITER ; MariaDB [test]> CALL p1(0); ERROR 1644 (45000): Unhandled user-defined exception condition

            People

              Unassigned Unassigned
              Faisal Faisal Saeed (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.