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.
Practical example
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.
Example
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:
UPDATE [users] SET [department_id]= 10
WHERE [id] IN (
SELECT [id] FROM (
SELECT [id] FROM [users]
ORDER BY [id]
OFFSET 3 ROWS
FETCH NEXT 4 ROWS ONLY
) subquery
);
Result:
Database preparation
create_tables.sql file:
CREATE TABLE [users] (
[id] INT IDENTITY(1,1),
[name] VARCHAR(50) NOT NULL,
[surname] VARCHAR(50) NOT NULL,
[department_id] INT,
[salary] DECIMAL(15,2) NOT NULL,
PRIMARY KEY ([id])
);
insert_data.sql file:
INSERT INTO [users]
( [name], [surname], [department_id], [salary])
VALUES
('John', 'Stewart', 1, '3512.00'),
('Chris', 'Brown', 2, '1344.00'),
('Kate', 'Lewis', 3, '6574.00'),
('Ailisa', 'Gomez', 1, '6500.00'),
('Gwendolyn', 'James', 2, '4200.00'),
('Simon', 'Collins', 4, '3320.00'),
('Taylor', 'Martin', 2, '1500.00'),
('Andrew', 'Thompson', 1, '2100.00');