Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Значение первичного ключа   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.096 c
14-1099203151
Свердликовский М.В.
2004-10-31 09:12
2004.11.21
Предлагаю «поломать» голову над загадкой.


4-1097117796
December
2004-10-07 06:56
2004.11.21
Получение админстративных прав под Windows NT/2000/XP


4-1097414017
Ralf
2004-10-10 17:13
2004.11.21
Как выключить монитор


4-1097522199
Пастор
2004-10-11 23:16
2004.11.21
Как имея хендл чужого окна узнать о его закрытии ?


14-1099891610
kaZaNoVa
2004-11-08 08:26
2004.11.21
Покупаю принтер, какой взять ?