У меня есть следующая таблица со значением 501 в нем ..SQL хранит proc - помогите мне написать это, пожалуйста! (Часть 2)
CREATE TABLE _Numbers(
Number numeric(20,0) NOT NULL PRIMARY KEY
)
INSERT INTO _Numbers VALUES(501)
Как я могу написать хранимую процедуру на этом, который возвращает меня 501 и увеличивает номер к следующему в последовательности (т.е. 502) ? Я бы хотел, чтобы это поведение повторялось каждый раз при вызове хранимой процедуры proc.
(Кроме того, как я могу назвать это ХП из любого запроса?)
Часть моего предыдущего вопроса 3151056.
Спасибо,
Voodoo
Я предположил, что таблица _NUMBERS содержит только одну значительную запись и что у нас нет проблем параллелизма (то есть одновременное чтение и т. Д.). – UltraCommit
@Chicken :) -> не с этой таблицей мы не будем иметь проблемы параллелизма. Но что произойдет, если будут одновременные чтения? Будет ли db-сессия не заблокирована нитью, а другой поток просто ждет ее? (sry, если это вопрос типа noob) – VoodooChild
В течение одной микросекунды два пользователя могут считывать (и производить на выходе) одно и то же значение, увеличивая поле NUMBER два раза. – UltraCommit