RAISE

Translation reference for the RAISE STATEMENT

Description

The RAISE statement explicitly raises an exception.

Outside an exception handler, you must specify the exception name. Inside an exception handler, if you omit the exception name, the RAISE statement reraises the current exception.(Oracle PL/SQL Language Reference Raise Statement)

The statement is fully supported by Snowflake Scripting, but please take into account that there might be some differences when having some Commit and Rollback Statement. For more information on this, please review the MSCEWI3111 error information.

RAISE <exception_name> ;

Snowflake Scripting has support for this statement.

RAISE <exception_name> ;

Sample Source Patterns

Simple exception throw

Oracle

CREATE OR REPLACE PROCEDURE simple_exception_throw_handle(param1 INTEGER)
IS
    my_exception EXCEPTION;
    my_other_exception EXCEPTION;
BEGIN
    IF param1 > 0
        THEN RAISE my_exception;
    END IF;
EXCEPTION
    WHEN my_exception THEN
        IF param1 = 1
            THEN RAISE;
        END IF;
        RAISE my_other_exception;
END;

--Completes without issue
CALL simple_exception_throw_handle(0);
--Throws my_exception
CALL simple_exception_throw_handle(1);
--Throws my_exception, catches then raises second my_other_exception
CALL simple_exception_throw_handle(2);

Snowflake Scripting

CREATE OR REPLACE PROCEDURE PUBLIC.simple_exception_throw_handle (param1 INTEGER)
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
      my_exception EXCEPTION;
      my_other_exception EXCEPTION;
   BEGIN
      IF (:param1 > 0) THEN
         RAISE my_exception;
      END IF;
   EXCEPTION
       WHEN my_exception THEN
         IF ( param1 = 1) THEN
            RAISE;
         END IF;
         RAISE my_other_exception;
   END;
$$;

--Completes without issue
CALL PUBLIC.simple_exception_throw_handle(0);
--Throws my_exception
CALL PUBLIC.simple_exception_throw_handle(1);
--Throws my_exception, catches then raises second my_other_exception
CALL PUBLIC.simple_exception_throw_handle(2);

Known Issues

No issues were found.

No related EWIs.

Last updated