powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как делать SELECT из неподтвержденных транзакций ?? (MS SQL 2000)
3 сообщений из 3, страница 1 из 1
Как делать SELECT из неподтвержденных транзакций ?? (MS SQL 2000)
    #32020082
Фотография XDefender
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой трабл!

Есть у меня таблица, допустим в нее я делаю
INSERT INTO MovementInWaterHouse (Par1, Par2,Par3)
SELECT Par1,Par2,Par3 From SalesProduction Where Factura_ID=@ID

Он мне вставляет, допустим, 10 записей одновременно (т.е. в INSERTED в триггере у меня будет 10 записей).
Проблема в том, что на поле ID для таблицы MovementInWaterHouse у меня чтоит dbo.GenerateID(11) - как значение по умолчанию.

Эта функция, считывает максимальный элемент из MovementInWaterHouse и добавляет 10 (к примеру, но на самом деле немножко сложнее, чем добавлять 10). Таким образом у меня формируется ID.

Но обратите внимание, что идет SELECT и таблице MovementInWaterHouse. Я решил убрать ключ с поля ID в этой таблице, и получил 10 записей с одним и тем-же ID. Как можно от этого избавится, т.е. чтобы ID были уникальны, при таком типе вставки.

Обязательные условия таковы, чтобы ID был сгенерирован моей функцией.
...
Рейтинг: 0 / 0
Как делать SELECT из неподтвержденных транзакций ?? (MS SQL 2000)
    #32020108
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там в BOL где-то написано что функция не может давать побочных эфектов
так что не получиться, только триггером

Кстати неподтверждённые транзакции здесь совсем не при чем. Просто сервер вставляет сразу все данные, а не по одной записи
...
Рейтинг: 0 / 0
Как делать SELECT из неподтвержденных транзакций ?? (MS SQL 2000)
    #32020153
ответ на то, что ты спросил:
select min(id) from mytable with(READUNCOMMITTED)

ответ на то, что ты хотел сделать на самом деле:
select min(id) from mytable with(TABLOCK)

и что следует делать на самом деле:
забыть про свой генератор и использовать identity или guid, или использовать функции работы не с БД, исходя из требуемой скорости. регистри или ещё что.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как делать SELECT из неподтвержденных транзакций ?? (MS SQL 2000)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]