Вниз
Скачать: CL | DM;

Значение генератора   Найти похожие ветки 

 
Назаров Евгений   (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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
6-14713
начинающий програмер
2002-10-09 16:06
2002.12.05
PROXY


8-14694
DenKop
2002-08-14 21:45
2002.12.05
Grabber


14-14771
Cpp+
2002-11-12 20:11
2002.12.05
Как в с++ получить значение из памяти зная адрес? (0x8ff0fff4)


1-14482
JustNew
2002-11-23 20:21
2002.12.05
парсинг строк


14-14746
dimonf
2002-11-14 09:00
2002.12.05
ОБРОЩЕНИЕ! Мастаки Delphi (или те кто так думает) города Кирова.




   Наверх