SSC-EWI-TS0041
XML data type methods are not supported in Snowflake.
Severity
Medium
Description
This EWI is added for the following XML data type methods that are not supported in Snowflake SQL:
Value
Query
Exist
Modify
Nodes
Code Example
Input Code:
CREATE PROCEDURE xml_procedure
@inUserGroupsXML XML
AS
BEGIN
SELECT entities.entity.value('TypeID[1]', 'VARCHAR(100)') AS TypeID
,entities.entity.value('Name[1]', 'VARCHAR(100)') AS Name
INTO #tmpUserGroups
FROM @inUserGroupsXML.nodes('/entities/entity') entities(entity)
END;
Output Code:
CREATE OR REPLACE PROCEDURE xml_procedure (INUSERGROUPSXML TEXT)
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
EXECUTE AS CALLER
AS
$$
BEGIN
CREATE OR REPLACE TEMPORARY TABLE T_tmpUserGroups AS
SELECT
XMLGET(entity, '$') :: VARCHAR(100) AS TypeID
,
XMLGET(entity, '$') :: VARCHAR(100) AS Name
FROM
!!!RESOLVE EWI!!! /*** SSC-EWI-TS0041 - XML TYPE METHOD nodes IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
T_inUserGroupsXML('/entities/entity') entities (
entity
);
END;
$$;
Recommendations
Consider using UDFs to emulate the behavior of the source code
You can check this documentation and review some possible approaches to work with XML datatypes in Snowflake.
If you need more support, you can email us at [email protected]
Last updated