On this Page

Overview

You can use this Snap to execute a Snowflake SQL delete with the given properties.

snowflake-delete-overview.png

Snap Type

The Snowflake - Delete Snap is a WRITE-type Snap.

Prerequisites

Security Prerequisites

You should have the following permissions in your Snowflake account to execute this Snap: 

The following commands enable the minimum privileges in the Snowflake Console:

grant usage on database <database_name> to role <role_name>;
grant usage on schema <database_name>.<schema_name>;

For more information on Snowflake privileges, refer to Access Control Privileges.

Internal SQL Commands

This Snap uses the DELETE command internally. It enables deleting data from a table using an optional WHERE clause and/or additional tables.

Support for Ultra Pipelines

Works in Ultra Pipelines. However, we recommend that you not use this Snap in an Ultra Pipeline.

Known Issues

Because of performance issues, all Snowflake Snaps now ignore the Cancel queued queries when pipeline is stopped or if it fails option for Manage Queued Queries, even when selected. Snaps behave as though the default Continue to execute queued queries when the Pipeline is stopped or if it fails option were selected.

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input

Document

  • Min: 0

  • Max: 1

  • JSON Generator

  • Binary to Document

Incoming documents are first written to a staging file on Snowflake's internal staging area. A temporary table is created on Snowflake with the contents of the staging file. An update operation is then run to update existing records in the target table and/or an insert operation is run to insert new records into the target table.

Output

Document

  • Min: 0

  • Max: 1

  • Mapper

  • Snowflake Execute

If an output view is available, then the output document displays the number of input records and the status of the bulk upload as follows:

 

Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:

  • Stop Pipeline Execution: Stops the current pipeline execution if the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ((blue star)): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ((blue star)): Indicates that you can add fields in the field set.

  • Remove icon ((blue star)): Indicates that you can remove fields from the field set.

Field Name

Field Type

Description

Label*

Default Value: Snowflake - Delete
Example: Load Employee Tables


String

Specify the name for the instance. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

Schema name

Default Value: N/A
Example: schema_demo



String/Expression

Specify the database schema name. In case it is not defined, then the suggestion for the Table Name retrieves all tables names of all schemas. The property is suggestible and will retrieve available database schemas during suggest values.

note

The values can be passed using the pipeline parameters but not the upstream parameter.

The values can be passed using the pipeline parameters but not the upstream parameter.

Table name*

Default Value: N/A
Example: employees_table

String/Expression

Specify the name of the table to execute bulk load operation on.

note

The values can be passed using the pipeline parameters but not the upstream parameter.

The values can be passed using the pipeline parameters but not the upstream parameter.

Delete condition (deletes all records from table if left blank)

Default Value: N/A
Example: email = 'you@example.com'

String/Expression

Specify the Snowflake SQL WHERE clause of the delete statement. The delete condition may also be passed via an upstream Snap or through the pipeline parameters.

note

Specify a valid WHERE clause for the delete condition. If you leave this field blank, the Snap deletes all the records from the table.

Specify a valid WHERE clause for the delete condition. If you leave this field blank, the Snap deletes all the records from the table.

Without using expressions

  • EmpId = 12 

  • email = 'you@example.com'

Using expressions

  • "EMPNO=$EMPNO and ENAME=$EMPNAME"

  • email = $email 

  • emp=$emp

  • "emp='" + $emp + "'"

  • "EMPNO=" + $EMPNO + " and ENAME='" + $EMPNAME+ "'"

Using expressions that join strings together to create SQL queries or conditions has a potential SQL injection risk and is hence unsafe. Ensure that you understand all implications and risks involved before using concatenation of strings with '=' Expression enabled. 

Number of retries

Default value: 0
Example: 3

Integer/Expression

Specifies the maximum number of attempts to be made to receive a response. The request is terminated if the attempts do not result in a response.

If the value is larger than 0, the Snap first downloads the target file into a temporary local file. If any error occurs during the download, the Snap waits for the time specified in the Retry interval and attempts to download the file again from the beginning. When the download is successful, the Snap streams the data from the temporary file to the downstream Pipeline. All temporary local files are deleted when they are no longer needed.

note

Ensure that the local drive has sufficient free disk space to store the temporary local file.

Ensure that the local drive has sufficient free disk space to store the temporary local file.

Minimum value: 0

Retry interval (seconds)

Default value: 1
Example: 10

Integer/Expression

Specifies the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception. 

Manage Queued Queries

Default value: Continue to execute queued queries when the pipeline is stopped or if it fails

Example: Cancel queued queries when the Pipeline is stopped or if it fails

Dropdown list

Select this property to decide whether the Snap should continue or cancel the execution of the queued Snowflake Execute SQL queries when you stop the pipeline.

note

If you select Cancel queued queries when the pipeline is stopped or if it fails, then the read queries under execution are canceled, whereas the write queries under execution are not canceled. Snowflake internally determines which queries are safe to be canceled and cancels those queries.

If you select Cancel queued queries when the pipeline is stopped or if it fails, then the read queries under execution are canceled, whereas the write queries under execution are not canceled. Snowflake internally determines which queries are safe to be canceled and cancels those queries.

Default Value: Execute only
Example: Validate & Execute

Dropdown list

Example

In the following example, the Snowflake Delete Snap deletes a record from the Snowflake database table, ADOBEDATA123, under the schema PRASANNA.

In the delete condition, the record ID is specified (ID='a2m1400000KAjBAAA1' ) and the record that has the specified ID is deleted from the database:  

Successful execution of the above Snap shows the following data preview:

Snap Pack History