On this page
Table of Contents | ||||
---|---|---|---|---|
|
Snap type: | Write | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: | Executes a SQL update with the given properties. Document keys will be used as the column update, and their values will be used as the updated column value. This Snap supports SQL Server 2008 or newer.
Expected upstream Snaps: The data to be updated in the table can be defined by providing values upstream. The document generator Snaps like JSON Generator can be used upstream. Expected downstream Snaps: The Snap will output one document for every record updated, hence any document processing Snap can be used downstream. | |||||||||||||
Prerequisites: | None | |||||||||||||
Support and limitations: |
| |||||||||||||
Account: | This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring SQL Server Accounts for information on setting up this type of account. | |||||||||||||
Views: |
| |||||||||||||
Settings | ||||||||||||||
Label | Required. 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
| 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 suggestable and will retrieve available database schemas during suggest values.
Example: SYS | |||||||||||||
Table Name | Required. The name of the table to execute the update operation on.
Example: people Default value: [None] | |||||||||||||
Update condition | The SQL where clause of the update statement, such as columnName = $inputFieldName
Examples:
| |||||||||||||
Number of retries | 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. Example: 3 Default value: 0
| |||||||||||||
Retry interval (seconds) | Specifies the time interval between two successive retry requests. A retry happens only when the previous attempt resulted in an exception. Example: 10 Default value: 1 | |||||||||||||
|
|
Note |
---|
TIMESTAMP datatype in SQL Server is not supported. According to the Microsoft official document, "The timestamp syntax is deprecated. This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature." |
Insert excerpt Azure SQL - Bulk Load Azure SQL - Bulk Load nopanel true
Examples
Example #1
This example updates the phone number (phoneno) of a customer for the table 'customer1' based on the update condition.
The update values are passed from upstream using JSON Generator. The update condition here will specify the condition to identify the records to be updated.
The sample output of Update Snap looks like:
Example #2
In this example, we will use the well-known Northwind sample database.
Following is a selection from the "Customers" table:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Assume we wish to update the customer "Alfreds Futterkiste" with a new contact person and city.
Enter Customers in the Table name property and CustomerName='Alfreds Futterkiste' in the Update condition property.
Assume that the Update Snap receives a Map data in the input view as following:
Code Block |
---|
{ "ContactName" : "Alfred Schmidt", "City" : "Hamburg" } |
When you save and execute the pipeline, the Snap internally formats a standard SQL UPDATE statement as following:
UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';
and submit the request to the database server.
The selection from the "Customers" table will now look like this:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Alfred Schmidt | Obere Str. 57 | Hamburg | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Be careful when updating records. If we had omitted the Update condition property, in the example above, the "Customers" table would have looked like this:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Alfred Schmidt | Obere Str. 57 | Hamburg | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Alfred Schmidt | Avda. de la Constitución 2222 | Hamburg | 05021 | Mexico |
3 | Antonio Moreno Taquería | Alfred Schmidt | Mataderos 2312 | Hamburg | 05023 | Mexico |
4 | Around the Horn | Alfred Schmidt | 120 Hanover Sq. | Hamburg | WA1 1DP | UK |
5 | Berglunds snabbköp | Alfred Schmidt | Berguvsvägen 8 | Hamburg | S-958 22 | Sweden |
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|