BEGIN END
Translation reference to convert Teradata BEGIN END clause to Snowflake Scripting
BEGIN END TRANSACTION
Description
Defines the beginning of an explicit logical transaction in Teradata session mode.
For more information regarding Teradata BEGIN END Transaction, check here.
[ BEGIN TRANSACTION | BT ]
statement
[ statement ]... ]
[ END TRANSACTION | ET ];
Sample Source Pattern
Teradata
REPLACE PROCEDURE BeginEndProcedure()
BEGIN
DECLARE HELLOSTRING VARCHAR(60);
BEGIN TRANSACTION
SET HELLOSTRING = 'HELLO WORLD';
END TRANSACTION;
END;
Snowflake Scripting
CREATE OR REPLACE PROCEDURE PUBLIC.BeginEndProcedure ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
BEGIN
LET HELLOSTRING VARCHAR(60);
BEGIN TRANSACTION
HELLOSTRING := 'HELLO WORLD';
COMMIT;
END;
$$;
BEGIN END REQUEST
Description
Delimits a SQL multistatement request
For more information regarding Teradata BEGIN END Request, check here.
BEGIN REQUEST
statement
[ statement ]... ]
END REQUEST;
Sample Source Pattern
Teradata
REPLACE PROCEDURE BeginEndProcedure()
BEGIN
DECLARE HELLOSTRING VARCHAR(60);
BEGIN REQUEST
SET HELLOSTRING = 'HELLO WORLD';
END REQUEST;
END;
Snowflake Scripting
CREATE OR REPLACE PROCEDURE PUBLIC.BeginEndProcedure ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
BEGIN
LET HELLOSTRING VARCHAR(60);
BEGIN
HELLOSTRING := 'HELLO WORLD';
COMMIT ;
EXCEPTION
WHEN other THEN
ROLLBACK;
END;
END;
$$;
BEGIN END COMPOUND
Description
Delimits a compound statement in a stored procedure.
For more information regarding Teradata BEGIN END Compound, check here.
label_name: BEGIN
statement
[ statement ]... ]
END label_name;
Sample Source Pattern
Teradata
REPLACE PROCEDURE BeginEndProcedure()
BEGIN
DECLARE HELLOSTRING VARCHAR(60);
label_name: BEGIN
SET HELLOSTRING = 'HELLO WORLD';
END label_name;
END;
Snowflake Scripting
CREATE OR REPLACE PROCEDURE PUBLIC.BeginEndProcedure ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
BEGIN
LET HELLOSTRING VARCHAR(60);
BEGIN
HELLOSTRING := 'HELLO WORLD';
END LABEL_NAME;
END;
$$;
Known Issues
1. Labels not supported in outer BEGIN END blocks
Teradata
REPLACE PROCEDURE procedureLabelSingle()
label_name: BEGIN
DECLARE HELLOSTRING VARCHAR(60);
SET HELLOSTRING = 'HELLO WORLD';
END label_name;
Snowflake Scripting
CREATE OR REPLACE PROCEDURE PUBLIC.procedureLabelSingle ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
--** MSC-ERROR - MSCEWI1058 - FUNCTIONALITY FOR 'label_name LABEL' IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE SCRIPTING **
BEGIN
LET HELLOSTRING VARCHAR(60);
HELLOSTRING := 'HELLO WORLD';
END;
$$;
Related EWIs
MSCEWI1058: Functionality is not currently supported by Snowflake Scripting
Last updated
Was this helpful?