# DB: Простая миграция: переименование компаний и имейлов юзеров
**Шаблон:**
```sql=
BEGIN TRY
BEGIN TRANSACTION;
//твой код
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
DECLARE @ErrorMessage AS NVARCHAR(4000);
DECLARE @ErrorSeverity AS INT;
DECLARE @ErrorState AS INT;
SELECT @ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
END CATCH
```
**Путь куда нужно положить файл со скриптом для коммита:**
после того как скрипт написан и сохранён в .SQL файл - его нужно положить в папку:
`appulate\Sources\Release`
**Пример использования скрипта:**
```sql=
BEGIN TRY
BEGIN TRANSACTION;
SET Name = CONCAT('QA_Auto_DON''T TOUCH ProducerConnect Agency ', SUBSTRING(Name,PATINDEX('%[0-9]%',Name),1))
WHERE Name LIKE 'QA_Auto_DON''T TOUCH Freemium Agency %'
UPDATE [User]
SET [Email] = REPLACE([Email],'e2espam+FreemiumAgency','e2espam+ProducerConnectSubscriptionAgency')
WHERE [Email] LIKE 'e2espam+FreemiumAgency%'
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;
DECLARE @ErrorMessage AS NVARCHAR(4000);
DECLARE @ErrorSeverity AS INT;
DECLARE @ErrorState AS INT;
SELECT @ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
END CATCH
```
###### tags: `DB` `Scripts`