EN
MS SQL Server - UPDATE query with FETCH
0 points
In this article, we would like to show you UPDATE
query with FETCH
in MS SQL Server.
To show you UPDATE
query with FETCH
, we will use the following users
table:

Note:
At the end of this article you can find database preparation SQL queries.
In this example, we will update department_id
column value for users from id
value 3
(excluding user with id = 3
). We will also limit the update to 4
users.
Query:
xxxxxxxxxx
1
UPDATE [users] SET [department_id]= 10
2
WHERE [id] IN (
3
SELECT [id] FROM (
4
SELECT [id] FROM [users]
5
ORDER BY [id]
6
OFFSET 3 ROWS
7
FETCH NEXT 4 ROWS ONLY
8
) subquery
9
);
Result:

create_tables.sql
file:
xxxxxxxxxx
1
CREATE TABLE [users] (
2
[id] INT IDENTITY(1,1),
3
[name] VARCHAR(50) NOT NULL,
4
[surname] VARCHAR(50) NOT NULL,
5
[department_id] INT,
6
[salary] DECIMAL(15,2) NOT NULL,
7
PRIMARY KEY ([id])
8
);
insert_data.sql
file:
xxxxxxxxxx
1
INSERT INTO [users]
2
( [name], [surname], [department_id], [salary])
3
VALUES
4
('John', 'Stewart', 1, '3512.00'),
5
('Chris', 'Brown', 2, '1344.00'),
6
('Kate', 'Lewis', 3, '6574.00'),
7
('Ailisa', 'Gomez', 1, '6500.00'),
8
('Gwendolyn', 'James', 2, '4200.00'),
9
('Simon', 'Collins', 4, '3320.00'),
10
('Taylor', 'Martin', 2, '1500.00'),
11
('Andrew', 'Thompson', 1, '2100.00');