GET DIAGNOSTICS EXCEPTION
Translation reference to convert Teradata GET DIAGNOSTICS EXCEPTION statement to Snowflake Scripting
Description
GET DIAGNOSTICS retrieves information about successful, exception, or completion conditions from the Diagnostics Area.
For more information regarding Teradata GET DIAGNOSTICS, check here.
GET DIAGNOSTICS
{
[ EXCEPTION < condition_number >
[ < parameter_name | variable_name > = < information_item > ]...
]
|
[ < parameter_name | variable_name > = < information_item > ]...
}
Sample Source Patterns
Teradata
CREATE PROCEDURE getDiagnosticsSample ()
BEGIN
DECLARE V_MESSAGE, V_CODE VARCHAR(200);
DECLARE V_Result INTEGER;
SELECT c1 INTO V_Result FROM tab1;
GET DIAGNOSTICS EXCEPTION 1
V_MESSAGE = Message_Text,
V_CODE = RETURNED_SQLSTATE;
END;
Snowflake Scripting
CREATE OR REPLACE PROCEDURE PUBLIC.getDiagnosticsSample ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
BEGIN
LET V_MESSAGE VARCHAR(200);
LET V_CODE VARCHAR(200);
LET V_Result INTEGER;
SELECT c1 INTO V_Result FROM PUBLIC.tab1;
V_MESSAGE := SQLERRM;
V_CODE := SQLSTATE;
END;
$$;
Known Issues
CLASS_ORIGIN, CONDITION_NUMBER
The use of GET DIAGNOSTICS for CLASS_ORIGIN, CONDITION_NUMBER is not supported
Teradata
CREATE PROCEDURE getDiagnosticsSample ()
BEGIN
DECLARE V_MESSAGE, V_CODE VARCHAR(200);
DECLARE V_Result INTEGER;
SELECT c1 INTO V_Result FROM tab1;
GET DIAGNOSTICS EXCEPTION 5
V_CLASS = CLASS_ORIGIN,
V_COND = CONDITION_NUMBER;
END;
Snowflake Scripting
CREATE OR REPLACE PROCEDURE PUBLIC.getDiagnosticsSample ()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
BEGIN
LET V_MESSAGE VARCHAR(200);
LET V_CODE VARCHAR(200);
LET V_Result INTEGER;
SELECT c1 INTO V_Result FROM PUBLIC.tab1;
/*** MSC-ERROR - MSCEWI1058 - FUNCTIONALITY FOR 'GET DIAGNOSTICS DETAIL FOR CLASS_ORIGIN' IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE SCRIPTING ***/
/* V_CLASS = CLASS_ORIGIN*/
/*** MSC-ERROR - MSCEWI1058 - FUNCTIONALITY FOR 'GET DIAGNOSTICS DETAIL FOR CONDITION_NUMBER' IS NOT CURRENTLY SUPPORTED BY SNOWFLAKE SCRIPTING ***/
/* V_COND = CONDITION_NUMBER*/
END;
$$;
Related EWIS
MSCEWI1058: Functionality is not currently supported by Snowflake Scripting
Last updated
Was this helpful?