Форум: "Базы";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
ВнизМаксимальное значение кода в базе данных Найти похожие ветки
← →
Jhonny (2002-02-07 07:07) [0]Здраствуйте народ! Меня мучает один вопрос: как мне узнать максимальное значения кода в базе. Необходимо, чтобы при добавлении записи в базу код наращивался автоматически на единицу.
Я пробовал такой код: Table1.RecordCount + 1, но он считает количество записей в базе. Помогите пожалуйста!
Заранее очень благодарен, Игорь!
← →
User_OKA (2002-02-07 07:31) [1]Если это IB5.x, то нет смысла самому наращивать код на единицу. Есть там генераторы спец. для таких целей. А если тебе нужно узнать значение генератора в программе, то запускай его в процедуре.
Но это уже совсем другая история!
← →
Deniz (2002-02-07 07:33) [2]Select max(id) from Test
но лучше использовать generator
Create generator test_gen;
set term ^;
CREATE TRIGGER biTEST FOR TEST
ACTIVE BEFORE INSERT POSITION 0
as
begin
if (new.id is null) then new.id = Gen_ID(test_gen, 1);
end;
^
create procedure GetNextID
returns (ID integer) as
begin
ID = Gen_ID(test_gen, 1);
end;
^
set term ;^
В программе :
function NextID:integer;
begin
{ IBSP : TIBStoredProc }
IBSP.StoredProcName:="GetNextID";
IBSP.Prepare;
IBSP.ExecProc;
Result:=IBSP.Params[0].AsInteger;
end;
И вызывай с любого места для получения уникального ID.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c