Главная страница
    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.47 MB
Время: 0.034 c
4-1096610271
KSergey
2004-10-01 09:57
2004.11.21
Позиция курсора в Edit


1-1099862330
Metrolog
2004-11-08 00:18
2004.11.21
Распознавание выражений


4-1097502103
DmitryMN
2004-10-11 17:41
2004.11.21
Реестр Windows 2000


1-1099473407
Max Ivanych
2004-11-03 12:16
2004.11.21
Переключение на другой лист Excel


14-1099839388
Vlad Oshin
2004-11-07 17:56
2004.11.21
Провинциальный чиновник. М.Ф. Доставленский Рассказ.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский