Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 October 16

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
У меня очень простой случай: insert .... on conflict ... ignore
А, ссори, неклассический, проще, но все равно по ссылке много полезностей
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Немного с транзакциями проблемы будут в таком случае...
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
CREATE PROCEDURE s_AccountDetails_Upsert ( @Email nvarchar(4000), @Etc nvarchar(max) )
AS
 IF EXISTS ( SELECT * FROM dbo.AccountDetails WHERE Email = @Email )

   UPDATE dbo.AccountDetails
      SET Etc = @Etc
    WHERE Email = @Email;

 ELSE

   INSERT dbo.AccountDetails ( Email, Etc )
   VALUES ( @Email, @Etc );

Это на уровне SERIALIZABLE надо проделывать...
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
А, ссори, неклассический, проще, но все равно по ссылке много полезностей
Что-то мне не хочется доверять статье, дающей сходу дерьмовый рецепт...
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Ой, Ёёёё. Там же это как антипаттерн помечено...
сори, был неправ
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Что-то мне не хочется доверять статье, дающей сходу дерьмовый рецепт...
Не читал, но осуждаю)
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
Не читал, но осуждаю)
Не, читаю. Да, статья годная. Прошу прощения.
источник

2_

2flower _ in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Только что написал MERGE для простенькой таблицы о 6 полях....

Это ж ТРЫНДЕЦ ПРОСТО, а не синтаксис!
нельзя просто взять и написать корректный merge. :)
источник

О奧

Олег 奧列格 (Ào liè gé)... in SqlCom.ru - Стиль жизни SQL
👍
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Поддерживаю. Использовать merge только если вы в нем уверены на 146%. Сам использую крайне редко.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Dmitriy Ivanov
Поддерживаю. Использовать merge только если вы в нем уверены на 146%. Сам использую крайне редко.
У нас кстати в проде работает, все протестировано, все функционирует
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
У нас кстати в проде работает, все протестировано, все функционирует
У меня тоже работало до 2016 года пока проблемы не пошли (возможно они и раньше были, но я о них не знал)
источник

DB

Dmitriy Belkin in SqlCom.ru - Стиль жизни SQL
Много лет пользуюсь мерджем, очень разными его паттернами, никогда не было замечено проблем
источник

О奧

Олег 奧列格 (Ào liè gé)... in SqlCom.ru - Стиль жизни SQL
Dmitriy Belkin
Много лет пользуюсь мерджем, очень разными его паттернами, никогда не было замечено проблем
Может вы не проверяли?
источник

DB

Dmitriy Belkin in SqlCom.ru - Стиль жизни SQL
Олег 奧列格 (Ào liè gé)
Может вы не проверяли?
Что значит не проверяли? Если бы возникали какие-то проблемы с данными, мы бы обязательно об этом узнали.
источник
2020 October 17

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Привет, после ребута AG-секондари, одна из баз не включил paralell redo,  как этот процесс перезапустить, включить?
источник

VP

Volodymyr Prysyazhyu... in SqlCom.ru - Стиль жизни SQL
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
traceflag 3459 у меня не включен.
> then offlining and onlining a database ?
это чтоли мне надо передернуть базу online-offline? как это правильно делать, а то в интернете видел detach-attach и что то стремно. ну или ребут всего экземпляра
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Dmitriy Belkin
Что значит не проверяли? Если бы возникали какие-то проблемы с данными, мы бы обязательно об этом узнали.
Ну, знаешь ли, паттернов, по которым произходят ошибки в программах, очень много, и они порой слабо предсказуемы.
Одни ошибки в ПО могут маскировать другие ошибки.

Так что отсутствие видимых проблем - это не показатель отсутствия ошибок.
источник

DB

Dmitriy Belkin in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Ну, знаешь ли, паттернов, по которым произходят ошибки в программах, очень много, и они порой слабо предсказуемы.
Одни ошибки в ПО могут маскировать другие ошибки.

Так что отсутствие видимых проблем - это не показатель отсутствия ошибок.
Что-то вы завернули - если бы были ошибки, которые могли влиять на количество и консистентность данных, например, такие ошибки мы бы точно отловили. Так как команда мердж - это команда работы с данными. Если таких проблем нет - значит и ошибок нет. Или речь идёт о каких-то других ошибках, то я, возможно, не понимаю о чем речь
источник