![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как присвоить значение MAX (поле) следующей записи через запрос SQL? В общем инкремент
Например: SQL.Add('SELECT MAX(Kod) FROM table'); INSERT INTO Table (Kod) values ( MAX(Kod)+1) Последний раз редактировалось srr, 17.02.2009 в 16:11. |
#2
|
|||
|
|||
![]() А подзапросом не пробовал?
Код:
INSERT INTO Table(Rjl) values(SELECT MAX(Kod)+1 FROM Table) А вообще, для этих целей сущетсвуют либо автоинкрементные поля, либо генераторы/сиквенсы. |
#3
|
|||
|
|||
![]() Пробовал в SQL - не работает
|
#4
|
|||
|
|||
![]() Что не работает?
|
#5
|
||||
|
||||
![]() lmikle, он прав, в стандарте SQL92 это работать не будет
![]() Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
![]() Да ладно.
Обычный подзапрос, возвращающий одно значение. в оракле 8,9,10 работает в firebird 1.5 работает в MS SQL 2000 работает. Там ошибка, что в первых скобках должно быть написано Kod. То ли я описался, то ли что сглючило. может придется подзапрос еще раз в скобки поместить, но работать должно. |
#7
|
|||
|
|||
![]() Всё равно не работает в MS SQL 2000, кроме SELECT и в скобках тоже, м.б. в настройках сервера, но там низя ничего делать.
|