Updating multiple rows at a time in sql server
Specifies the temporary named result set or view, also known as common table expression (CTE), defined within the scope of the UPDATE statement.
The CTE result set is derived from a simple query and is referenced by UPDATE statement.
CURRENT OF Specifies that the update is performed at the current position of the specified cursor. Table1', ' U') IS NOT NULL DROP TABLE dbo. Table2', ' U') IS NOT NULL DROP TABLE dbo. Table1 (c1 int PRIMARY KEY NOT NULL, c2 int NOT NULL); GO CREATE TABLE dbo. Table2 WHERE CURRENT OF abc; GO SELECT c1, c2 FROM dbo.
A positioned update using a WHERE CURRENT OF clause updates the single row at the current position of the cursor. Table2 (d1 int PRIMARY KEY NOT NULL, d2 int NOT NULL); GO INSERT INTO dbo. Table2 VALUES (1, 20), (2, 30); GO DECLARE abc CURSOR LOCAL FOR SELECT c1, c2 FROM dbo. Table1; GO Support for use of the READUNCOMMITTED and NOLOCK hints in the FROM clause that apply to the target table of an UPDATE or DELETE statement will be removed in a future version of SQL Server.
Minimal logging is not used when existing values are updated.FROM Specifies that a table, view, or derived table source is used to provide the criteria for the update operation. If the object being updated is the same as the object in the FROM clause and there is only one reference to the object in the FROM clause, an object alias may or may not be specified.If the object being updated appears more than one time in the FROM clause, one, and only one, reference to the object must not specify a table alias.The results of an UPDATE statement are undefined if the statement includes a FROM clause that is not specified in such a way that only one value is available for each column occurrence that is updated, that is if the UPDATE statement is not deterministic. Modifying a text, ntext, or image column with UPDATE initializes the column, assigns a valid text pointer to it, and allocates at least one data page, unless the column is being updated with NULL.For example, in the UPDATE statement in the following script, both rows in USE Adventure Works2012; GO IF OBJECT_ID ('dbo. To replace or modify large blocks of text, ntext, or image data, use WRITETEXT or UPDATETEXT instead of the UPDATE statement.