Update Overview

An “Update” is a service that can be used to run a SQL update statement. This means the statement targets already existing records in a specified table and will update the values in certain columns of the table in the desired way.

The benefit of using an Update to an ExecuteUpdate (another service that can be used to run an update statement), is that you can enter the desired table and where clause and EASYProcess will build the SQL statement for you. This does not require that the developer be very familiar with the SQL syntax.

Update services build the query for you given the table and where clause. It follows the pattern:

UPDATE [Table] SET [Column1]=[Value1], [Column2]=[Value2], …

WHERE [WhereClause]

The drawback of the Update service is that EASYProcess will always use this pattern and requires that the WhereClause be predefined in the Keys. Sometimes a developer would like to build the update statement based on XSLT functions. A developer also might just feel more comfortable writing the statement themselves which gives more control. In these examples an ExecuteUpdate service might be a better fit.

Since EASYProcess is in charge of maintaining the query pattern in an Update service, it is able to do things for us, like parameterize the query.

A parameterized query is a query in which placeholders are used for parameters and the parameter values are supplied at execution time. The most important reason to use parameterized queries is to avoid SQL injection attacks. These can happen when a value used in the query comes from the page in user entered data.

Update Use Examples

Basic Use Example

In this example the Update service is used to update existing records in a table (AddressBook). The where clause is defined by the Key in the service. Here, the where clause will become:

WHERE AddressId=[User’s Address Id]

In this particular table, the AddresId is the primary key, so this query will find only one record to update. However, in other use cases, the WhereClause could be used to filter down to multiple records to update, instead of just one.

Each of the “Values” specified in the Update service are the actual values that will be inserted into the filtered records. All the “Column” entries must be columns that already exist in the specified table (AddressBook).

Here is the final (parameterized) query that is created from this service.

UPDATE AddressBook SET

Name = @Name0,

Description = @Name1,

AddressLine1 = @Name2,

City = @Name3,

State = @Name4,

Zip = @Name5,

Phone = @Name6,

BranchPlant = @Name7

WHERE AddressId = @Name8