Tip
All examples used are valid against the Microsoft Northwind Sample Database You can run the resulting SQL from the examples against Northwind in order to test and play with the SqlObjects library.
UPDATEΒΆ
Basic Update
var sql = TSQL
.UPDATE("Categories").SET()
.COLUMN("CategoryName").IsEqualTo("Vegan")
.COLUMN("Description").IsEqualTo("Exclusively plant-based food")
.WHERE("CategoryID").IsEqualTo(9)
.Build()
;
Console.WriteLine(sql);
Output:
UPDATE [Categories] SET
[CategoryName] = 'Vegan',
[Description] = 'Exclusively plant-based food'
WHERE 1=1
AND [CategoryID] = 9
Note
Using any other comparison operator method beside IsEqualTo will cause the update for the column to be ignored
Basic Update with Table Schema
var sql = TSQL
.UPDATE("dbo", "Categories").SET()
.COLUMN("CategoryName").IsEqualTo("Vegan")
.COLUMN("Description").IsEqualTo("Exclusively plant-based food")
.WHERE("CategoryID").IsEqualTo(9)
.Build()
;
Console.WriteLine(sql);
Output:
UPDATE [dbo].[Categories] SET
[CategoryName] = 'Vegan',
[Description] = 'Exclusively plant-based food'
WHERE 1=1
AND [CategoryID] = 9
Update Using a Collection of Strings
Specifying an IEnumerable<string> collection for the UPDATE list will SET
the column values equal to @parameters using column names as a naming convention.
var columns = new List<string> { "CategoryName", "Description" };
var sql = TSQL
.UPDATE("dbo", "Categories").SET()
.COLUMNS(columns)
.WHERE("CategoryID").IsEqualTo(9)
.Build()
;
Console.WriteLine(sql);
Output:
UPDATE [dbo].[Categories] SET
[CategoryName] = @CategoryName,
[Description] = @Description
WHERE 1=1
AND [CategoryID] = 9
Update Using a Collection of TSQLColumn Objects
Specifying a collection of TSQLColumn objects for the UPDATE list will SET
the column values equal to @parameters using column names as a naming convention.
var columns = new List<TSQLColumn>
{
new TSQLColumn { ColumnName = "CategoryName" },
new TSQLColumn { ColumnName = "Description" }
};
var sql = TSQL
.UPDATE("dbo", "Categories").SET()
.COLUMNS(columns)
.WHERE("CategoryID").IsEqualTo(9)
.Build()
;
Console.WriteLine(sql);
Output:
UPDATE [dbo].[Categories] SET
[CategoryName] = @CategoryName,
[Description] = @Description
WHERE 1=1
AND [CategoryID] = 9
Using a Parameter in the WHERE Clause
var sql = TSQL
.UPDATE("Categories").SET()
.COLUMN("CategoryName").IsEqualTo("Vegan")
.COLUMN("Description").IsEqualTo("Exclusively plant-based food")
.WHERE("CategoryID").IsEqualTo("@CategoryID")
.Build()
;
Console.WriteLine(sql);
Output:
UPDATE [Categories] SET
[CategoryName] = 'Vegan',
[Description] = 'Exclusively plant-based food'
WHERE 1=1
AND [CategoryID] = @CategoryID
Tip
Obviously you can use a @ParameterName in the WHERE clause in conjunction with any of the
variations of UPDATE statements above, which is recommended.