WHILE

Translation reference to convert Teradata WHILE statement to Snowflake Scripting

Description

Teradata's WHILE statement is translated to Snowflake ScriptingWHILE syntax.

For more information on Teradata While, check here.

[label_name:] WHILE conditional_expression DO
    { sql_statement }
END WHILE [label_name];

Sample Source Patterns

Teradata

REPLACE PROCEDURE whileProcedure(OUT resultCounter INTEGER)
BEGIN
    DECLARE counter INTEGER DEFAULT 0;
    customeLabel: WHILE counter < 10 DO
        SET counter = counter + 1;
    END WHILE customeLabel;
    SET resultCounter = counter;
END;

CALL whileProcedure(:?);

Snowflake Scripting

CREATE OR REPLACE PROCEDURE PUBLIC.whileProcedure (/*** MSC-ERROR - MSCEWI1058 - FUNCTIONALITY FOR 'OUT PARAMETERS' IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE SCRIPTING ***/
RESULTCOUNTER FLOAT)
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
   BEGIN
      LET counter INTEGER DEFAULT 0;
      WHILE ( counter < 10) LOOP
         counter := counter + 1;
      END LOOP CUSTOMELABEL;
      resultCounter := counter;

      RETURN resultCounter;
   END;
$$;

CALL whileProcedure(1);

Known Issues

No issues were found.

No related EWIs.

Last updated