РоллБацк трансакције на СКЛ Сервер 2005

СКЛ Сервера 2005 ново интодуцед на начин за враћање трансакција у СКЛ Сервер 2005

СЕТ КСАЦТ_АБОРТ НА

када је на КСАЦТ_АБОРТ. Тхе Т-СКЛ изјаве ће аутоматски уназад вратити трансакцију када грешке у извештајима.

СЕТ КСАЦТ_АБОРТ НА

УПОТРЕБА Емп
Бегин Тран
Убаците у ЕмпИнфо вредности(1)
Убаците у ЕмпИнфо вредности(1) — Ова изјава ће подићи примарни кључну грешку
Убаците у ЕмпИнфо вредности(2)
Цоммит Тран

Прва линија Статмент ће извршити без икаквих грешака. Примарни кључ грешка ће подићи у другом реду. Али цео блок трансакција неће бити посвећене јер је КСАЦТ_АБОРТ у на.

1 цоммент за враћање трансакцију у СКЛ Сервер 2005

  • норепли@блоггер.цом (Тод)

    Требало би напоменути да КСАЦТ_АБОРТ престане тренутни * * серије, не цела команда. Пакети су одвојени са ГО кључну реч. Извршење ће наставити почетком следећег серије.

    Ова функција је такође у СКЛ Сервер 2000, мада се понаша мало другачије за различите грешке.

    У СКЛ 2000, постоје случајеви у којима КСАЦТ_АБОРТ не аутоматски уназад вратити трансакцију.

    На пример:

    Убацивање у неважећим називом колони.

    Убацивање у примарни кључ са ИДЕНТИТИ_ИНСЕРТ ОФФ.

    Извршавања СЕЛЕЦТ која користи непостојеће УДФ.

    Ове врсте грешака су обично због лоше аутор команде, па не јављају у дан у дан операције вашег програма, осим ако неко мења шему. Али ја објаснити њиховом могућност када је био аутор сценарија базе података када успостављају нову верзију пројекта, Само у случају распоређивање не иде по плану.

    Постоје начини да се баве таквим грешке. Ваша ПОСВЕТИ треба да буде у серији извођења ДМЛ изјаве. Афтер пакету (после ГО кључну реч) можете да проверите@@ТРАНЦОУНТ да видимо да ли је већи од нуле и деловати у складу са. Обично роллбацк трансакцију.

    Трансакције могу спан серије, тако да можете да извршите враћање у наредној серији.

Допуст један Одговор

Можете да користите ове ХТМЛ тагове

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>