Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
ВнизЗначение генератора Найти похожие ветки
← →
Назаров Евгений (2002-11-14 19:27) [0]Мужики, как в переменную Num:integer , записать значение генератора gReq как можно проще.
SQL знаю плохо, поэтому не знаю как вытащить значение
gen_id(gReq,0) не записывая его в другую таблицу
← →
Val (2002-11-14 19:36) [1]select distinct gen_id(CUST_NO_GEN, 0) from RDB$GENERATORS;
Этот запрос возвращает значение генератора CUST_NO_GEN
← →
Cranium (2002-11-14 19:36) [2]CREATE TRIGER NUMBE_H;
..................
Num=GEN_ID(NUMBE_H,1)
← →
Val (2002-11-14 19:39) [3]предупрежу, запрос в моем предыдущем ответе, скопирован из доки первой попавшейся. лучше проверить.
← →
Назаров Евгений (2002-11-14 19:39) [4]то есть запрос
select distinct gen_id(CUST_NO_GEN, 0) from RDB$GENERATORS;
возвращает таблицу с одим полем и одной записью ?, если не трудно, напишите пожалуйста как ее получить?
← →
Назаров Евгений (2002-11-14 19:42) [5]а можно получить в дельфях значение генератора с помощью хранимой процедуры, если можно,то как ?
← →
Cranium (2002-11-14 19:54) [6]Примерно такая ХП
CREATE PROCEDURE RETURN_GEN
RETURN(OUT_ID INTEGER) AS
BEGIN
GEN_ID(NUMBE_H1)=:OUT_ID;
SUSPEND;
END
← →
Назаров Евгений (2002-11-14 20:27) [7]получилось, спасибо, только вот понять не могу, почему ";" приходится ставить перед n1 и suspend, (подругому не работает) ,конечно может быть IBConsole глючит
CREATE PROCEDURE GetReq
RETURNS(n1 INTEGER)
AS
BEGIN
;n1=GEN_ID(gReq,0)
;SUSPEND;
END;
← →
Val (2002-11-14 20:54) [8]
> конечно может быть IBConsole глючит
нет, доку нужно почитать.
← →
-=Sergeante=- (2002-11-15 18:47) [9]
> Назаров Евгений (14.11.02 20:27)
> получилось, спасибо, только вот понять не могу, почему ";"
> приходится ставить перед n1 и suspend, (подругому не работает)
> ,конечно может быть IBConsole глючит
??? Может всё таки так:
CREATE PROCEDURE GetReq
RETURNS(n1 INTEGER)
AS
BEGIN
n1=GEN_ID(gReq,0);
SUSPEND;
END;
← →
Назаров Евгений (2002-11-15 19:26) [10]так в том-то и дело, что я тоже так хотел, но не работает так зараза, говорит не могу найти конец процедуры, я все варианты перепробовал, только мой и заработал
← →
Andriano (2002-11-16 08:17) [11]Двоеточие после END нельзя ставить. Не забывайте, что не на Delphi пишите.
← →
Bmouradov (2002-11-16 13:22) [12]function GetNewId(qry: TIBQuery; Generator: string): integer;
begin
qry.Close;
qry.SQL[0] := "SELECT GEN_ID(" + Generator + ", 1) AS Id";
qry.Open;
try
Result := qry.Fields[0].AsInteger;
finally
qry.Close;
end;
end; //GetNewId
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c