Generic JDBC - Update

In this article

Overview

You can use this Snap to execute a SQL UPDATE statement for each batch of input documents. Keys from the document are used as the columns to update and their values will be the updated value in the column.

Updates will be batched up until the account's batch size property or until the structure of the update statement changes. An UPDATE statement will change if an incoming document contains different keys than a previous document.

This Snap also supports DML (Data Manipulation Language) operations (ALTER and INSERT) when using the AWS Athena database.

Snap Type

Generic JDBC - Update is a Write-type Snap that executes SQL UPDATE statement.

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Pipelines. However, we recommend that you not use this Snap in an Ultra Pipeline. This operation is not supported for Apache Hive databases.

Known Issues & Limitations

None.

Snap Views

Type

Format

Number of views

Examples of Upstream and Downstream Snaps

Description

Type

Format

Number of views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

 

  • Min: 1

  • Max: 1

  • Mapper

  • Sequence

This Snap has exactly one document input view.

Output

Document

  • Min: 0

  • Max: 1

  • File Writer

  • Mapper

This Snap has at most one document output view. If an output view is available, then the original document that was used to create the statement will be output with the status of the update.

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 while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

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

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the rest of the 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 (): Indicates a list that is dynamically populated based on the configuration.

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

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

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

Field Name

Field Type

Description

Field Name

Field Type

Description

Label*

 

Default ValueGeneric JDBC - Update
ExampleGeneric JDBC - Update

 

String

Specify the name for the Snap. 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: "PUBLIC"

String/Expression

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

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

Table Name*

 

Default Value: N/A
Example: Employee

String/Expression

Specify the name of the table in the instance. The table name is suggestible and requires an account setting.

 

Update Condition

 

Default Value: N/A
Example:

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+ "'"

String/Expression

Specify the SQL WHERE clause of the update statement. You can define specific values or columns to update (Set condition) in the upstream Snap, such as Mapper Snap, and then use the WHERE clause to apply these conditions on the columns sourced from the upstream Snap. For instance, here is a sample of an Update SQL query:
UPDATE table_name
SET column1 = value1, column2 = value2,
WHERE condition;

Refer to the example to understand how to use the Update Condition.

 

Number of retries

 

Default Value: 0
Example: 3

Integer/Expression

Specify 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.

Retry interval (seconds)

 

Default Value: 1
Example: 10

Integer/Expression

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

 

Snap Execution

 

Default Value: Execute only
ExampleValidate & Execute

Dropdown list

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Examples

Update data in an SQL database

This example pipeline demonstrates how to update the data in the SQL database.

Step 1: Configure the Mapper Snap to pass the data. On validation, the Snap displays the output based on the specified input.

 

 

Step 2: Configure the Generic JDBC - Update Snap to update the “TECTONIC”.”ACTRESS1” table with the update condition. On validation, the Snap displays a confirmation message indicating that the data was successfully updated in the database.

 

 

 

Downloads

  File Modified

File Example_JDBC_Update.slp

May 08, 2023 by Amritesh Singh

Snap Pack History


Related Content