Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

INSERT в MSSQL   Найти похожие ветки 

 
Stanislav ©   (2005-04-29 14:36) [40]

А так:
Insert ...
select max(id) from mytable ?


 
Polevi ©   (2005-04-29 14:42) [41]

>Stanislav ©   (29.04.05 14:36) [40]
даже не смешно, умолкни


 
Stanislav ©   (2005-04-29 14:47) [42]

Polevi ©   (29.04.05 14:42) [41]
Непонял ???


 
Polevi ©   (2005-04-29 14:48) [43]

я понял что ты не понял


 
msguns ©   (2005-04-29 15:01) [44]

>Stanislav ©   (29.04.05 14:47) [42]
>Непонял ???

Всю ветку в лом прочесть ?


 
Stanislav ©   (2005-04-29 15:02) [45]

Помоему тебе пора замолкнуть, кокого ты вообще в эту ветку встрял и не одного дельного совета человеку.
И кто тебе мастера дал?


 
Stanislav ©   (2005-04-29 15:05) [46]

msguns ©   (29.04.05 15:01) [44]
А я ее прочел и что?


 
ANB ©   (2005-04-29 15:05) [47]

Гы гы. Ща кто то в орешник влетит.


 
msguns ©   (2005-04-29 15:23) [48]

>Stanislav ©   (29.04.05 15:05) [46]
>А я ее прочел и что?

А то, что так :

>Stanislav ©   (29.04.05 14:36) [40]
А так:
Insert ...
select max(id) from mytable ?


писать нельзя.


 
Stanislav ©   (2005-04-29 15:33) [49]

msguns ©   (29.04.05 15:23) [48]
Я так понимаю человеку нужно узнать ID записи,которая была вставлена командой Insert.
И что неправильно в моем запросе ???


 
msguns ©   (2005-04-29 15:39) [50]

>Stanislav ©   (29.04.05 15:33) [49]
>Я так понимаю человеку нужно узнать ID записи,которая была вставлена командой Insert.

Если бы вопрос стоял так, то исчерпывающий ответ дан в [5]. А дальше обсуждалась еще пущенная мною (а зря) идея о получении ID до вставки и даже без. Просто это довольно часто поднимаемая трабла, единого решения которой до сих пор нет, как вариант почитай посты Max Zyuzin ©


 
ANB ©   (2005-04-29 15:52) [51]


> идея о получении ID до вставки и даже без.
- у меня есть на идея :))) Переходи на Oracle. Там сиквенсы есть. И никаких проблем.


 
Stanislav ©   (2005-04-29 15:53) [52]

Ну, вот. А я давал ответ на вопрос поставленный ST см. [38],
как альтернатива [5]. Если это будет выполнятся одной х.п.,то 100% он узнает правильный ID.
А остальное уже отклонение от темы. А появление Polevi в этой ветке вообще глупо.


 
Max Zyuzin ©   (2005-04-29 15:58) [53]

Ну вы еще подеритесь...
>Stanislav ©   (29.04.05 15:53) [52]
Конструкция типа [40] не верна упринципе идеологически, ибо MSSQL это вам не однопользовательский парадокс.


 
Polevi ©   (2005-04-29 16:03) [54]

>Max Zyuzin ©   (29.04.05 15:58) [53]

г. Stanislav © имеет большой опыт работы с сервером от Microsoft
после >Stanislav ©   (29.04.05 14:36) [40] рождается миф от msguns "Тяжела как беременная свинья, что в инстале, что в работе"


 
Stanislav ©   (2005-04-29 16:06) [55]

Также как и [5].
Зачем узнавать значение  ID до ?


 
msguns ©   (2005-04-29 16:09) [56]

>Max Zyuzin ©   (29.04.05 15:58) [53]
>это вам не однопользовательский парадокс.

Ой ля-ля ?


 
msguns ©   (2005-04-29 16:12) [57]

>Polevi ©   (29.04.05 16:03) [54]
>рождается миф от msguns "Тяжела как беременная свинья, что в инстале, что в работе"

Если б миф..

>Stanislav ©   (29.04.05 16:06) [55]
>Также как и [5].
>Зачем узнавать значение  ID до ?

В принципе незачем. Если можно узнать ВМЕСТЕ. Я, к примеру, этого не знал ;(


 
Max Zyuzin ©   (2005-04-29 16:12) [58]

>msguns ©   (29.04.05 16:09) [56]
Ой ля ля :). Имелось ввиду вариант работы одним единсвенным пользователем.


 
Max Zyuzin ©   (2005-04-29 16:14) [59]

>Stanislav ©   (29.04.05 16:06) [55]
Что бы вставлять например записи в master-detail в одной транзакции.


 
Stanislav ©   (2005-04-29 16:21) [60]

msguns ©   (29.04.05 16:12) [57]
Если б миф..
Каждому решению должна быть алтернатива.
И кто сказал что Max(id) будет работать медленее или отнимать больше ресурсов ?
Max Zyuzin ©   (29.04.05 16:14) [59]

Begin Transaction
--master
Insert...
@NEWID = ...
--detail
insert @newid...
...
...
Commit Transaction / rollback transaction


 
msguns ©   (2005-04-29 16:23) [61]

>Stanislav ©   (29.04.05 16:21) [60]

Стас, да идея-то ясна ! Чего уж жевать ?
Думаю, что Макс уж сам сообразит-то ;))


 
Stanislav ©   (2005-04-29 16:34) [62]

Я все равно не пойму кому нужно узнавать значение AI до...
Ну, допустим ты его узнал, получил и что дальше, а если в этот момент кто-то вставил новую запись в таблицу ?
..ибо MSSQL это вам не однопользовательский парадокс (Max Zyuzin ©
)


 
ANB ©   (2005-04-29 16:38) [63]

Stanislav ©   (29.04.05 16:34) [62] - узнавать ID до вставки - общепринятая практика, я сам так в Oracle частенько делаю. Только тогда нужно юзать сиквенсы или использовать способ msguns, если сиквенсы сервер не поддерживает. И в этом случае, если кто то инсертит паралельно запись в нашу таблицу, он получит другой ID. А вот твоя идея с max привет к одному ID или, что еще хуже, ты получишь не свой. Max прокатит, только если ты уверен, что работаешь один.


 
msguns ©   (2005-04-29 16:42) [64]

>ANB ©   (29.04.05 16:38) [63]
>Max прокатит, только если ты уверен, что работаешь один.

Ты не понял Стаса. Он сначала вставляет запись, а потом узнает ID. Просто вместо @@identity опрашивает max. Если это в одной транзакции, то рез-т одинаковый.


 
ANB ©   (2005-04-29 16:48) [65]

И такой же шустрый ?


 
msguns ©   (2005-04-29 16:55) [66]

Сильно сомневаюсь, хотя черт его знает

Всем спасибо за весьма содержательную беседу. Особый респект ANB © . Жаль, что так и не дождался ответа Полевого.

Пошел праздновать, чего и вам желаю ;))


 
Stanislav ©   (2005-04-29 16:57) [67]

msguns ©   (29.04.05 16:42) [64] - Правильно.
ANB ©   (29.04.05 16:38) [63]
Не хочу морочить тебе голову, но можно пример где может понадоится узнать ID до вставки ?


 
ANB ©   (2005-04-29 17:19) [68]

Элементарно, Ватсон. Ты выводишь форму для новой накладной. И хочешь, чтобы на ней уже был номер. А его тебе разрешили генерить из ID с дырками, лишь бы был разный.


 
Fay ©   (2005-04-29 17:26) [69]

Мыши плакали...



Страницы: 1 2 вся ветка

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

Наверх





Память: 0.58 MB
Время: 0.016 c
1-1116788754
Delcom
2005-05-22 23:05
2005.06.06
Как работать с таймером в Delphi 6???


1-1116605397
Mr-jack
2005-05-20 20:09
2005.06.06
координаты клика по форме...


9-1106547979
wild_arg
2005-01-24 09:26
2005.06.06
GLScene. Antialiasing.


1-1116529193
syte_ser78
2005-05-19 22:59
2005.06.06
форма нестандартной формы.


9-1110436166
boalse
2005-03-10 09:29
2005.06.06
Покажите своё лучшее!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский