Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-14479
Zn
2002-11-19 11:03
2002.12.05
Связывание разных типов данных в SQL-запросах


14-14778
123000
2002-11-14 18:52
2002.12.05
AVI => MP3


1-14585
volph7777
2002-11-27 13:25
2002.12.05
ownerdraw listbox


7-14835
LazyCat
2002-10-04 16:57
2002.12.05
Как определить, что за компутером никто не сидит?


3-14366
wHammer
2002-11-19 14:39
2002.12.05
Как определить в каком поле находится курсор в DBGrid?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский