Похоже просто винсервера вместо обычной винды было достаточно поставить и на нем учебные базы и лабы развертывать... Остальное ( сервер контроля домена и сервер с фаерволом ) - не нужны... Всем спасибо за помощь!
Привет If (..) begin begin transaction Insert .... if (@error<>0) rollback Update ... if (@error<>0) rollback Insert .. if (@error<>0) rollback commit end; else .... Подскажите, пожалуйста, нужна ли тут транзакция и правильно ли все написал.
Привет If (..) begin begin transaction Insert .... if (@error<>0) rollback Update ... if (@error<>0) rollback Insert .. if (@error<>0) rollback commit end; else .... Подскажите, пожалуйста, нужна ли тут транзакция и правильно ли все написал.
если у вас на 1 insert будет 10 update' то ваш алгоритм будет неэффективен. если же это разные таблицы тогда все равно странно сделано с rollback
если у вас на 1 insert будет 10 update' то ваш алгоритм будет неэффективен. если же это разные таблицы тогда все равно странно сделано с rollback
У меня в одной таблице хранится запись, в другой её атрибуты. Поставили задачу при апдейте записи сохранять предыдущее значение в архив. Поэтому сначала инсерт селект в архивную, а после апдейт основной таблицы и таблицы атрибутов ( они обнуляются) Разве не так надо было делать?
Привет If (..) begin begin transaction Insert .... if (@error<>0) rollback Update ... if (@error<>0) rollback Insert .. if (@error<>0) rollback commit end; else .... Подскажите, пожалуйста, нужна ли тут транзакция и правильно ли все написал.
оберни транзакцию в try catch и в catch сделай rollback
У меня в одной таблице хранится запись, в другой её атрибуты. Поставили задачу при апдейте записи сохранять предыдущее значение в архив. Поэтому сначала инсерт селект в архивную, а после апдейт основной таблицы и таблицы атрибутов ( они обнуляются) Разве не так надо было делать?
а что мешает сделать with inserted as ( insert ... ) update ...
Всем привет! Подскажите, пожалуйста, курс по MS SQL, который включает тему: "план запросов". Перерыла интернет, но нашла только курс с преподавателем, который начался больше недели назад. Буду признательна за любую информацию.
Всем привет! Подскажите, пожалуйста, курс по MS SQL, который включает тему: "план запросов". Перерыла интернет, но нашла только курс с преподавателем, который начался больше недели назад. Буду признательна за любую информацию.
Привет If (..) begin begin transaction Insert .... if (@error<>0) rollback Update ... if (@error<>0) rollback Insert .. if (@error<>0) rollback commit end; else .... Подскажите, пожалуйста, нужна ли тут транзакция и правильно ли все написал.
Привет If (..) begin begin transaction Insert .... if (@error<>0) rollback Update ... if (@error<>0) rollback Insert .. if (@error<>0) rollback commit end; else .... Подскажите, пожалуйста, нужна ли тут транзакция и правильно ли все написал.
бывают ошибки которые уже приведут к откату транзакции либо она может откатиться в триггере - счетчик транзакций перед откатом либо коммитом обычно принято проверять
бывают ошибки которые уже приведут к откату транзакции либо она может откатиться в триггере - счетчик транзакций перед откатом либо коммитом обычно принято проверять
в этом прелесть try catch, если навороченной логики нет, этой конструкции в общем случае достаточно. commit в конце try, rollback в catch.