LABEL and GOTO
Translation reference to convert LABEL AND GOTO in SQL Server
Description
Snowflake SQL does not support GOTO LABEL statements. Currently, LABELS are commented and warning is added for all the occurrences.
Sample Source Patterns
The following examples details the BEGIN and COMMIT transaction statements.
SQL Server
CREATE PROCEDURE GoToProcedure
AS
BEGIN
DECLARE @TotalMaarks INT
SET @TotalMaarks = 49;
IF @TotalMaarks >= 50
GOTO Pass
IF @TotalMaarks < 50
GOTO Fail
Pass:
SELECT 1;
RETURN 1;
Fail:
SELECT 2;
RETURN 2;
END
Snowflake SQL
CREATE OR REPLACE PROCEDURE PUBLIC.GoToProcedure ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
DECLARE
TOTALMAARKS INT;
BEGIN
TOTALMAARKS := 49;
IF (TOTALMAARKS >= 50) THEN
-- ** MSC-ERROR - MSCEWI1037 - TRANSLATION FOR GOTO IS PLANNED TO BE DELIVERED IN THE FUTURE **
-- GOTO Pass
END IF;
IF (TOTALMAARKS < 50) THEN
-- ** MSC-ERROR - MSCEWI1037 - TRANSLATION FOR GOTO IS PLANNED TO BE DELIVERED IN THE FUTURE **
-- GOTO Fail
END IF;
-- ** MSC-INFORMATION - MSCINF0028 - LABELED STATEMENT IS NOT SUPPORTED IN SNOWFLAKE SCRIPTING **
-- Pass:
SELECT 1;
RETURN 1;
-- ** MSC-INFORMATION - MSCINF0028 - LABELED STATEMENT IS NOT SUPPORTED IN SNOWFLAKE SCRIPTING **
-- Fail:
SELECT 2;
RETURN 2;
END;
$$;
LABEL and GOTO statement outside routines (functions and procedures)
SQL Server
CREATE TABLE T12(COL1 INT);
GOTO SecondStat
FirstStat:
INSERT INTO T12 VALUES (1);
SecondStat:
INSERT INTO T12 VALUES (2);
Snowflake Scripting
BEGIN
CREATE OR REPLACE TABLE T12 (
COL1 INT
);
-- --** MSC-ERROR - MSCEWI1073 - PENDING FUNCTIONAL EQUIVALENCE REVIEW FOR 'Goto' NODE **
-- GOTO SecondStat
-- --** MSC-WARNING - MSCEWI4045 - LABELED STATEMENT IS NOT SUPPORTED IN SNOWFLAKE SCRIPTING **
-- FirstStat:
INSERT INTO T12 VALUES (1);
-- --** MSC-WARNING - MSCEWI4045 - LABELED STATEMENT IS NOT SUPPORTED IN SNOWFLAKE SCRIPTING **
-- SecondStat:
INSERT INTO T12 VALUES (2);
END;
Known Issues
No issues were found.
Related EWIs
MSCINF0028: LABELED STATEMENT IS NOT SUPPORTED IN SNOWFLAKE SCRIPTING
Last updated
Was this helpful?