IF

Translation reference to convert Teradata IF statement to Snowflake Scripting

Some parts in the output code are omitted for clarity reasons.

Description

Provides conditional execution based on the truth value of a condition.

For more information regarding Teradata IF, check here.

IF conditional_expression THEN
     statement
     [ statement ]... 
[ ELSEIF conditional_expression THEN
     statement
     [ statement ]... ]...
[ ELSE   
     statement
     [ statement ]... ]
END IF;

Sample Source Patterns

Sample auxiliar table

IN -> Teradata_01.sql
CREATE TABLE if_table(col1 varchar(30));

Possible IF variations

Teradata

IN -> Teradata_02.sql
CREATE PROCEDURE ifExample1 ( flag NUMBER )
BEGIN
   IF flag = 1 THEN
      INSERT INTO if_table(col1) VALUES ('one');
   END IF;
END;

CALL ifExample1(1);
SELECT * FROM if_table;
|COL1|
|----|
|one |

Snowflake Scripting

OUT -> Teradata_02.sql
CREATE OR REPLACE PROCEDURE ifExample1 (FLAG FLOAT)
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
EXECUTE AS CALLER
AS
$$
   BEGIN
      IF (flag = 1) THEN
         INSERT INTO if_table (col1)
         VALUES ('one');
      END IF;
   END;
$$;

CALL ifExample1(1);

SELECT
   * FROM
   if_table;