Использование RDB$DB_KEY в ХП
Добавлено: 02 дек 2005, 13:34
Нужно убрать из рабочей таблицы записи с возрастом более Х дней.
Сваял такую процедуру:
BEGIN
FOR SELECT RDB$DB_KEY, current_date-cast(gmt as date) FROM data
INTO :rowid, :days
DO BEGIN
IF (:days>400) then
begin
insert into data_old
select * from data where RDB$DB_KEY=:rowid; <- вот тут засада
//тут будет удаление - пока в тесте не делаю
end
END
END
Короче нефига это решение не вставляет
Проблема в том, что не понятно какого типа должна быть переменная :rowid чтоб нормально с ней работать. Или любой другой способ идентификации строки в таблице, плиз.
Сваял такую процедуру:
BEGIN
FOR SELECT RDB$DB_KEY, current_date-cast(gmt as date) FROM data
INTO :rowid, :days
DO BEGIN
IF (:days>400) then
begin
insert into data_old
select * from data where RDB$DB_KEY=:rowid; <- вот тут засада
//тут будет удаление - пока в тесте не делаю
end
END
END
Короче нефига это решение не вставляет

Проблема в том, что не понятно какого типа должна быть переменная :rowid чтоб нормально с ней работать. Или любой другой способ идентификации строки в таблице, плиз.