Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизЗначение первичного ключа Найти похожие ветки
← →
Kerk © (2004-10-18 13:34) [0]Как можно определить сабж последней добавленной записи?
Способ через @@IDENTITY не катит, ибо не надежно,
← →
mcr (2004-10-18 13:39) [1]А почему "не катит"
Scope_Identity()
?
← →
Kerk © (2004-10-18 13:46) [2]@@IDENTITY AFAIK возвращает значение относительно всей СУБД.
> Scope_Identity()
Не знал о такой. Сейчас в MSDN посмотрю.
← →
Reindeer Moss Eater © (2004-10-18 13:47) [3]не катит, ибо не надежно,
Сначала получить значение для PK, потом вставить запись с известным PK.
← →
KSergey © (2004-10-18 13:48) [4]Я бы другое спросил: почему "не надежно"?? Это что-то новенькое....
А вообще от версии сервера зависит
Для 7 - только @@IDENTITY, для 2000 - лучше Scope_Identity()
Тольлько надо четко для себя понять что значит и в каком смысле "лучше"
← →
Vir (2004-10-18 13:50) [5]Я делал по иному.
В таблице вводил поле типа timestamp - оно атоматически правиться MSSQL при изменении записи.
тогда выбрав запись MAX значением этого поля получишь последную редактированную или добавленную запись.
← →
Reindeer Moss Eater © (2004-10-18 13:57) [6]тогда выбрав запись MAX значением этого поля получишь последную редактированную или добавленную запись.
Только не обязательно добавленную тобой.
← →
Sergey13 © (2004-10-18 14:00) [7]2[5] Vir (18.10.04 13:50)
>Я делал по иному.
Я извиняюсь, с MSSQL никогда не работал, но не получишь ли ты при таком подходе последную кем-то другим редактированную или добавленную запись
← →
Vir (2004-10-18 14:00) [8]Reindeer Moss Eater © (18.10.04 13:57) [6]
Только не обязательно добавленную тобой.
А не кто и не говорил что нужна запись добавленная именно тобой.
← →
KSergey © (2004-10-18 14:04) [9]> Как можно определить сабж последней добавленной записи?
К стати, @@IDENTITY возвращает не значение первичного ключа, а поля, у которого проставлено Identity (автосчетчик)
← →
MOA © (2004-10-18 14:04) [10]2Vir - и получим чужую запись в некоторых случаях (записали - кто-то записал в ту же таблицу - считываем по МАХ чужую запись)
>возвращает значение относительно всей СУБД
Зато именно "относительно" текущей сессии. Хотя чаще лучше mcr (18.10.04 13:39) [1]
Удачи!
← →
Vir (2004-10-18 14:08) [11]Ладно ладно возможно не понял вопрос - просто я подобную процедуру использовал для синхронизации таблиц в разных базах.
← →
Пуртик (2004-10-18 14:24) [12]select ident_current(<table_name>)
← →
Пуртик (2004-10-18 14:25) [13]Выполнить в том же запросе на вставку.
← →
Kerk © (2004-10-19 14:41) [14]
> К стати, @@IDENTITY возвращает не значение первичного ключа,
> а поля, у которого проставлено Identity (автосчетчик)
Ну как раз это я и имел введу.
Всем спасибо. Вопрос решен.
← →
Ega23 © (2004-10-19 14:44) [15]
Select @X=Max(IsNull(UID))+1 from Table1
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c