Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Здравствуйте,
у меня вопрос по поводу операции insert, к сожалению нигде не нашел нужной инфы.
При вставке в таблицу с автоинкрементным полем, происходит ошибка, но счетчик все равно увеличивается, как сделать так чтобы при ошибках вставки значение счетчика тоже откатывалось?
10 дек 09, 14:42    [8047099]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
P.S. версия сервера
Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Express Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
10 дек 09, 14:45    [8047122]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Здравствуйте,
у меня вопрос по поводу операции insert, к сожалению нигде не нашел нужной инфы.
При вставке в таблицу с автоинкрементным полем, происходит ошибка, но счетчик все равно увеличивается, как сделать так чтобы при ошибках вставки значение счетчика тоже откатывалось?

DBCC CHECKIDENT
Только зачем ?
10 дек 09, 14:48    [8047133]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Glory,

хммм
CHECKIDENT это не то
мне не нужно проверять тек. значение или устанавливать его.
Glory
Только зачем ?

Мне это необходимо, чтобы меньше самому меньше заморачиваться на последовательности счетчика.
10 дек 09, 14:54    [8047159]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
ё
Guest
проверяйте вставляемые данные, до вставки - откат и непотребуется
10 дек 09, 14:55    [8047166]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Glory,

хммм
CHECKIDENT это не то
мне не нужно проверять тек. значение или устанавливать его.

А вы про действия команды судите по ее мнемонике ? Или хелп все же читаете ?

hpv

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

А зачем вообще замарачиваться с последовательностью счетчика ?
10 дек 09, 14:55    [8047169]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
ё,
вопрос чисто теоритический :),
я проверяю данные до вставки
Glory

А вы про действия команды судите по ее мнемонике ? Или хелп все же читаете ?

все же читаю
Glory

А зачем вообще замарачиваться с последовательностью счетчика ?

например, если у меня автоинкрементый столбец размер в байт), чтобы все значения шли последовательно(не учитывая удалений)
10 дек 09, 15:07    [8047234]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv


например, если у меня автоинкрементый столбец размер в байт), чтобы все значения шли последовательно(не учитывая удалений)

Тетеньке-бухгалтеру нравится, когда номера строчек на экране по порядку идут ?
10 дек 09, 15:16    [8047297]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Glory

Тетеньке-бухгалтеру нравится, когда номера строчек на экране по порядку идут ?

именно :)
10 дек 09, 15:17    [8047317]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
а если серьезно, то просто интересно есть ли вообще такая возможность.
10 дек 09, 15:18    [8047330]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Glory

Тетеньке-бухгалтеру нравится, когда номера строчек на экране по порядку идут ?

именно :)

А что вы будете делать, когда тетенька удалит запись из середины ?
10 дек 09, 15:19    [8047335]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Glory,
hpv
чтобы все значения шли последовательно(не учитывая удалений)
10 дек 09, 15:22    [8047366]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Glory,
hpv
чтобы все значения шли последовательно(не учитывая удалений)

И каким же способом вы достигнете этой цели при удалении произвольного значения из середины последовательности ?
10 дек 09, 15:27    [8047401]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Glory,
hpv

чтобы все значения шли последовательно(не учитывая удалений)

под этим я имел ввиду, что не беру в расчет что кто то может удалить запись))
10 дек 09, 15:31    [8047425]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Glory,
hpv

чтобы все значения шли последовательно(не учитывая удалений)

под этим я имел ввиду, что не беру в расчет что кто то может удалить запись))

А в чем тогда разница между удаленным позднее значением и пропущенным в результате отмены insert-а ?
10 дек 09, 15:33    [8047439]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Glory,

ни в чем, но в случае инсерта этого можно избежать.
К сожалению, я так и не услышал. возможно это или нет.
10 дек 09, 15:37    [8047474]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Dmitry Sukhovilin
Member

Откуда: Таганрог
Сообщений: 361
смотрите в сторону оконных функций лучше.
10 дек 09, 15:39    [8047485]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Glory,

ни в чем, но в случае инсерта этого можно избежать.
К сожалению, я так и не услышал. возможно это или нет.

Вы наверное так и не дочитали про возможности команды DBCC CHECKIDENT
10 дек 09, 15:39    [8047486]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Glory,

К сожалению, после прочтения хелпа ответа на свой вопрос я так и не нашел.
10 дек 09, 15:53    [8047596]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36800
А если одновременно десять пользоваетелей начали вставлять данные, а потом пять из них откатились, а пять - нет, то какой должен быть счетчик?
10 дек 09, 15:55    [8047621]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
Glory
Member

Откуда:
Сообщений: 104760
hpv
Glory,

К сожалению, после прочтения хелпа ответа на свой вопрос я так и не нашел.


Т.е. вы не видите этого предложения в хелпе ?

DBCC CHECKIDENT ( 'table_name', RESEED, new_reseed_value ) - Current identity value is set to the new_reseed_value.
10 дек 09, 15:55    [8047626]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при вставке и автоинкремент  [new]
hpv
Member

Откуда:
Сообщений: 153
Гавриленко Сергей Алексеевич
А если одновременно десять пользоваетелей начали вставлять данные, а потом пять из них откатились, а пять - нет, то какой должен быть счетчик?

спасибо за ответ, я об этом сразу и не подумал))

Glory

Т.е. вы не видите этого предложения в хелпе ?

DBCC CHECKIDENT ( 'table_name', RESEED, new_reseed_value ) - Current identity value is set to the new_reseed_value.

не вижу, вижу аналогичное на русском :)
10 дек 09, 16:03    [8047681]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить