DECLARE CONDITION HANDLER

Translation reference to convert Teradata DECLARE CONDITION handler to Snowflake Scripting

Description

Assign a name to an SQLSTATE code, or declare a user-defined condition.

For more information regarding the Teradata DECLARE CONDITION handler, check here.

DECLARE condition_name CONDITION
    [ FOR SQLSTATE [ VALUE ] sqlstate_code ] ;

Sample Source Patterns

DECLARE CONDITION

Teradata

CREATE PROCEDURE declareConditionExample ( )
BEGIN
    DECLARE DB_ERROR CONDITION;
    ...
END;

Snowflake Scripting

CREATE OR REPLACE PROCEDURE PUBLIC.declareConditionExample ( )
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
      DB_ERROR EXCEPTION;
   BEGIN
      ...
   END;
$$;

Known Issues

DECLARE CONDITION FOR SQLSTATE

The support of declaring conditions for SQLSTATE values is not currently supported by Snowflake Scripting.

Teradata

CREATE PROCEDURE declareConditionExample2 ( )
BEGIN
    DECLARE ERROR_EXISTS CONDITION FOR SQLSTATE VALUE '42000';
    ...
END;

Snowflake Scripting

CREATE OR REPLACE PROCEDURE PUBLIC.declareConditionExample2 ( )
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   DECLARE
      ERROR_EXISTS EXCEPTION;
   BEGIN
      /*** MSC-ERROR - MSCEWI1058 - FUNCTIONALITY FOR 'SET EXCEPTION DETAILS' IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE SCRIPTING ***/
      /*ERROR_EXISTS CONDITION FOR SQLSTATE VALUE '42000'*/
       ...
   END;
$$;
  1. MSCEWI1058: Functionality is not currently supported by Snowflake Scripting

Last updated