LOOP

Translation reference to convert Teradata LOOP statement to Snowflake Scripting

Description

Teradata's LOOP statement is translated to Snowflake Scripting LOOP syntax.

For more information on Teradata Loop, check here.

[label_name:] LOOP
    { sql_statement }
END LOOP [label_name];

Sample Source Patterns

Teradata

CREATE PROCEDURE loopProcedure(OUT resultCounter INTEGER)
BEGIN
    DECLARE counter INTEGER DEFAULT 0;
   
    customeLabel: LOOP 
    	SET counter = counter + 1;
	IF counter = 10 THEN
	    LEAVE customeLabel;
	END IF;
    END LOOP customeLabel;
   
    SET resultCounter = counter;
END;

CALL loopProcedure(:?);

Snowflake Scripting

CREATE OR REPLACE PROCEDURE PUBLIC.loopProcedure (/*** 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;
      LOOP
         counter := counter + 1;
         IF ( counter = 10) THEN
            BREAK customeLabel;
         END IF;
      END LOOP CUSTOMELABEL;
      resultCounter := counter;

      RETURN resultCounter;
   END;
$$;

CALL loopProcedure(1);

Known Issues

No issues were found.

No related EWIs.

Last updated