Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизIdentity в базе SQLServer Найти похожие ветки
← →
Alexey © (2004-04-06 18:12) [0]Как вытащить индентификатор из таблицы после выполнения ADOQeery в Дельфях6 функция в кваери isnert, а также записать его в параметр, база SQL ???
← →
Black Krok (2004-04-06 18:19) [1]У меня сработал такой вариант:
INSERT INTO orientir_bases (NAME)
VALUES ("")
RETURNING id INTO :IDBase
При добавлении срабатывает триггер, записывающий в поле id значение из счетчика. После отработки команды в параметре IDBase
я получаю содержимое этого поля
← →
KSergey © (2004-04-07 07:50) [2]> Black Krok (06.04.04 18:19)
Это синтаксис для како сервера? Какой версии?
Вообще код примерно такой:
INSERT (...) VALUES (...)
SELECT @@IDENTITY
Для MS SQL 2000 вместо @@IDENTITY надо использовать @@SCOPE_IDENTITY (примерно так, справки под рукой нет)
Тогда запрос вернет одну запись из одного столбца, в которм будет последнее ID
Ну и в случае MS SQL ниже 2k почитать об ограничениях на @@IDENTITY
← →
Alexey © (2004-04-07 09:22) [3]Сервер MS SQL 2000 вариант:
INSERT INTO orientir_bases (NAME)
VALUES ("")
RETURNING id INTO :IDBase
не пашет, выдает ошибку какую забыл ... потом посмотрю. На счет @@scope_identity не знаю чуть позже посмотрю
← →
roottim (2004-04-07 09:52) [4]>RETURNING id INTO :IDBaseэто по ОРАКЛУ..
а МССКЛ блокировочник и после вставки , как я понимаю, необходимо именно прочитать эту @@IDENTITY, после чего блокировка снимется и другие транзакции продолжат вставку.. ну или что там...
← →
Alexey © (2004-04-07 17:54) [5]Всем спасибо ... ошибка была в другой ереси ... слега напутал ... кстати один из правильных вариантов такой:
В кваери
select @@IDENTITY AS ID
В Дельфях
параметр:=ADOQuery["ID"]
параметр: integer
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.051 c