Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизid последней добавленной записи ??? Найти похожие ветки
← →
Вася (2012-06-11 14:24) [0]В проге определены
sqlquery1.SQL.text, sqlquery1.deleteSQL.text, sqlquery1.updateSQL.text,
а также
sqlquery1.insertSQL.text:="insert into sp_avto (nameavto, groupid, typid, prim, datspisan) values (:nameavto, :groupid, :typid, :prim, :datspisan) SELECT @@IDENTITY as new_rec";
так вот как мне вытянуть после ApplyUpdates значение поля new_rec?
← →
Сергей М. © (2012-06-11 14:28) [1]
> SELECT @@IDENTITY as new_rec
Это д.б. в отдельном запросе на выборку, запускаемом на выполнение после завершения запроса на вставку.
← →
stas © (2012-06-11 14:29) [2]Вася (11.06.12 14:24)
Я так понимаю это .NET сформировано с автоматически с помощью мастера?
← →
Вася (2012-06-11 14:39) [3]насколько понимаю, @@IDENTITY вернет 0 в отдельном запросе, правильное значение вернет если в одной транзакции с insert
> Я так понимаю это .NET сформировано с автоматически с помощью
> мастера?
Нет, ручками в lazarus
← →
stas © (2012-06-11 14:53) [4]вернет последний вставленный ID в текущем подключении. Какая СУБД ?
← →
Вася (2012-06-11 14:54) [5]MS SQL2000
← →
Ega23 © (2012-06-11 14:58) [6]
> вернет последний вставленный ID в текущем подключении.
Не болтайте ерундой.
← →
stas © (2012-06-11 14:59) [7]Тогда лучше функция SCOPE_IDENTITY() , но так же в отдельном запросе.
Можно и не в отдельном, но нужно получить набор данных. В обычной дельфи это все делается в одном запросе и он возвращает набор данных, как будто бы запрос на Select. В лазарусе не знаю.
А можно еще сделать OUT Parametr
SET :ID = SCOPE_IDENTITY()
← →
stas © (2012-06-11 15:11) [8]
> Ega23 © (11.06.12 14:58) [6]
Областью функции @@IDENTITY является текущий сеанс на локальном компьютере, на котором она выполняется.
← →
Вася (2012-06-11 15:13) [9]
> насколько понимаю, @@IDENTITY вернет 0 в отдельном запросе,
> правильное значение вернет если в одной транзакции с insert
был не прав, возвращает правильное значение в отдельном запросе, но как он себя поведет если несколько пользователей будет работать? смоделировать пока не могу...
← →
stas © (2012-06-11 15:19) [10]Вася (11.06.12 15:13) [9]
Если триггер будет на вставку, на той таблице, куда добавляются данные- тогда поведет себя не правильно. Для этого надо использовать функцию SCOPE_IDENTITY().
← →
Вася (2012-06-11 15:22) [11]Ок, понял, спасибо всем
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.058 c