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

Вниз

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

Наверх




Память: 0.47 MB
Время: 0.023 c
6-1079087976
Dimmm
2004-03-12 13:39
2004.05.02
управление удаленным компьютером по локальной сети


6-1078079621
teapot
2004-02-29 21:33
2004.05.02
pacet32.dll блокировать доступ


9-1069057084
knstantun
2003-11-17 11:18
2004.05.02
-как работать с dfx в delphi?


3-1081403294
Vilux
2004-04-08 09:48
2004.05.02
Не могу понять. почему не работает BETWEEN


7-1079378000
Konstantin5
2004-03-15 22:13
2004.05.02
LPT порт