Поскольку у вас нет ключей или индексов, я могу предложить следующий подход.
1 - Создать новую таблицу, используя INTO
(которая будет копировать данные), как в следующем запросе.
SELECT
CASE
WHEN NAME IS NULL THEN @name
ELSE NAME
END AS NAME,
<other columns >
INTO dbo.newtable
FROM table1
2 - отбросить старую таблицу
drop table table1
3 - переименовать новую таблицу в table1
exec sp_rename 'dbo.newtable', 'table1'
Другой подход может заключаться в использовании пакетного обновления, иногдавы получаете лучшую производительность по сравнению с массовым обновлением (вам нужно проверить, настроив размер пакета).
WHILE EXISTS (SELECT 1 FROM table1 WHERE name is null)
BEGIN
UPDATE TOP (10000) table1
SET name = @name
WHERE n ame is null
END