Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Multiexcerpt include macro
nameAzure_Synapse_SQL_Driver_Limitation
templateData[]
pageAzure Synapse SQL - Bulk Load
addpanelfalse

Known Issues

None.

Behavior Changes

The jOOQ upgrade for the Azure Synapse SQL Snap Pack from v3.9.1 to v3.17.x resulted in the following behavior:

Previously, when “null”(string) was passed from the upstream Mapper Snap for the Bigint datatype, the Azure Synapse SQL Update Snap updated it as null without displaying any error. It displayed the status as 0 and the output message as Success. Now, the Snap displays the following error in this scenario:
Error converting value (expecting a number but you are sending String(“null”))

Snap Views

Type

Format

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min: 1

  • Max: 1

  • JSON Generator

The data to be updated in the table is defined by providing values upstream.

Output

Document

  • Min: 0

  • Max: 1

  • File Writer

If an output view is available, then the original document that was used to create the statement appears as output with the status of the update executed.  

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

...

Field Name

Field Type

Description

Label*

Default ValueAzure Synapse SQL - Update
Example: Azure_Synapse_SQL_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: None
Example: SYS

String/Expression

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

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

Table Name*

Default Value: None
Example: employee

String/Expression

Specify the name of the table where the update operation is to be executed.

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

Note

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. 

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;

If the Update Condition field is left blank, the condition is applied on all the records of the target table. 

Info

In specifc scenarios where you want to use specific data from the upstream Snaps, and do not want to change that data in the Update Snap, then you need to place the data in the original structure of the input document. Therefore, we recommend that you use the format for the Update condition and input data format as shown below:

{
"valueToUpdate" : "true",
"original": {
"col1" : "KEY"
}
}

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

Number of Retries

Default Value0
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 Value1
Example: 10

Integer/Expression

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

Snap Execution

Default Value
Example: Validate & 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

...

employee table based on a

...

condition

...

This example Pipeline demonstrates how to update data in an employee table by specifying a condition to update.

...