Delete
Translation reference for SQL Server Delete statement to Snowflake
Some parts in the output code are omitted for clarity reasons.
Description
Removes one or more rows from a table or view in SQL Server. For more information regarding SQL Server Delete, check here.
Sample Source Patterns
The transformation for the DELETE statement is fairly straightforward, with some caveats. One of these caveats is the way Snowflake supports multiple sources in the FROM clause, however, there is an equivalent in Snowflake as shown below.
SQL Server
Snowflake
Note that, since the original DELETE was for T1, the presence of TABLE2 T2 in the FROM clause requires the creation of the USING clause.
Delete duplicates from a table
The following documentation explains a common pattern used to remove duplicated rows from a table in SQL Server. This approach uses the ROW_NUMBER
function to partition the data based on the key_value
which may be one or more columns separated by commas. Then, delete all records that received a row number value that is greater than 1. This value indicates that the records are duplicates. You can read the referenced documentation to understand the behavior of this method and recreate it.
The following example uses this approach to remove duplicates from a table and its equivalent in Snowflake. The transformation consists of performing an INSERT OVERWRITE statement which truncates the table (removes all data) and then inserts again the rows in the same table ignoring the duplicated ones. The output code is generated considering the same PARTITION BY
and ORDER BY
clauses used in the original code.
SQL Server
Create a table with duplicated rows
Remove duplicated rows
Snowflake
Create a table with duplicated rows
Remove duplicated rows
Consider that there may be several variations of this pattern, but all of them are based on the same principle and have the same structure.
Known Issues
No issues were found.
Related EWIs
No related EWIs.
Last updated