Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Вот вопросик... 


Mikeee   (2002-04-05 09:16) [0]

В таблице Tab1 на SQL-сервере есть автоинкрементное поле. Как узнать значение этого поля новой записи до сохранения?



JibSkeart   (2002-04-05 09:26) [1]

А Зачем ??

вообшем можно посмотреть максимальное число и прибавить к нему 1
declare @m int
select @m=Max(Id_key) from Table

select @m=@m+1

select @m

вот посмотри



Johnmen   (2002-04-05 09:35) [2]

>JibSkeart © : Принципиально неверно...
>Mikeee © : Какая БД ?



Mike S   (2002-04-05 09:37) [3]

Действительно зачем???
После того как ты узнал и до того как ты сохранил
может кто-то вставить запись и все уехало:)
>JibSkeart ©
Это работает только если последняя запись не была удалена.



Nikolay M.   (2002-04-05 14:54) [4]

А автоинкрементное поле генерится сервером? Если да, то, естественно, зависит, от сервера. Мы на IB когда-то делали так: создавалась хранимая процедура, которая работала с генератором (переменной) и выдавала при каждом ее вызове значение генератора + 1, а перед добавлением новой записи клиент вызывал эту процедуру, получал очередной ID и прописывал это значение в запросе:
INSERT INTO MyTable (ID, Name) VALUES (:NewGeneratedID, "Mikeee")




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.029 c
1-80865           inko                  2002-04-13 19:00  2002.04.25  
Как убрать приложение из автозапуска?


3-80762           Reticent              2002-04-04 11:25  2002.04.25  
ошибка ODBC ?!


1-80989           P.                    2002-04-11 18:51  2002.04.25  
Чё то торможу...


3-80735           ph                    2002-04-03 12:01  2002.04.25  
Сохранение изменений в бд.


14-81058          Somebody_             2002-03-20 11:31  2002.04.25  
новый трейд ПРО ЭТО.....