Can someone please help me to debug why the following script cannot run in snowflake? It said it has syntax error inside. Thanks
DECLARE
current_database STRING;
current_schema STRING;
BEGIN
current_database := CURRENT_DATABASE();
current_schema := CURRENT_SCHEMA();
IF current_database <> 'DEV' OR current_schema <> 'CONFIG' THEN
RETURN 'WRONG SCHEMA SELECTED';
ELSE RETURN 'GOOD'
END IF;
END;
If needs PARENs, but the big kicker is your return 'good'
is missing the semicolon:
DECLARE
current_database STRING;
current_schema STRING;
BEGIN
current_database := CURRENT_DATABASE();
current_schema := CURRENT_SCHEMA();
IF (current_database <> 'DEV' OR current_schema <> 'CONFIG') THEN
RETURN 'WRONG SCHEMA SELECTED';
ELSE RETURN 'GOOD';
END IF;
END;
It can also be shrank a bit more:
BEGIN
let current_database string := CURRENT_DATABASE();
let current_schema string := CURRENT_SCHEMA();
IF (current_database <> 'DEV' OR current_schema <> 'CONFIG') THEN
return 'WRONG SCHEMA SELECTED';
END IF;
return 'GOOD';
END;
or even to:
BEGIN
IF (CURRENT_DATABASE() <> 'DEV' OR CURRENT_SCHEMA() <> 'CONFIG') THEN
return 'WRONG SCHEMA SELECTED';
END IF;
return 'GOOD';
END;