Можно рефакторинга эти запросы:Рефакторинга НАЧАТЬ TRY/CATCH заявление для исполнения
BEGIN TRY
UPDATE ETAT_PERSONNE_PRECISION SET ID_PRECISION = 9 WHERE ID_PRECISION = 2
END TRY
BEGIN CATCH
DELETE FROM ETAT_PERSONNE_PRECISION WHERE ID_PRECISION = 2;
END CATCH;
BEGIN TRY
UPDATE ETAT_PERSONNE_PRECISION SET ID_PRECISION = 9 WHERE ID_PRECISION = 3
END TRY
BEGIN CATCH
DELETE FROM ETAT_PERSONNE_PRECISION WHERE ID_PRECISION = 3;
END CATCH;
BEGIN TRY
UPDATE ETAT_PERSONNE_PRECISION SET ID_PRECISION = 9 WHERE ID_PRECISION = 8
END TRY
BEGIN CATCH
DELETE FROM ETAT_PERSONNE_PRECISION WHERE ID_PRECISION = 8;
END CATCH;
BEGIN TRY
UPDATE ETAT_PERSONNE_PRECISION SET ID_PRECISION = 12 WHERE ID_PRECISION = 7
END TRY
BEGIN CATCH
DELETE FROM ETAT_PERSONNE_PRECISION WHERE ID_PRECISION = 7;
END CATCH;
Информация:
Ограничения Ключ на столе
ALTER TABLE ETAT_PERSONNE_PRECISION ADD CONSTRAINT PK_ETAT_PERSONNE_PRECISION PRIMARY KEY CLUSTERED
(
[ID_ETAT_PERSONNE] ASC,
[ID_PRECISION] ASC
)
@Heinzi я удалить, потому что у меня есть 'contraint key' на этой таблице – Mercer
Таким образом, если следующие записи (id_etat_personne, id_precision) существуют:' (1, 2) ',' (1, 9) ',' (2, 2) ',' (3, 2) ', первый блок try/catch удалит * все четыре * из них. Это действительно то, что вы хотите? – Heinzi
@Heinzi 'id_precision (2,3,7,8)' устарел, я хочу обновить все 'id_precision (2,3,8)' в направлении 'id_precision = 9' и для' id_precision (7) 'to' id_precision = 12' – Mercer