Страница 1 из 1

FB2.5 зависимости поля таблицы. бажок

Добавлено: 05 авг 2011, 20:15
mustafa
Если в процедуре написать

Код: Выделить всё

if (exists(select ПОЛЕ1 from таблица where ПОЛЕ2 = ... )) then ...
то удалить ПОЛЕ2 нельзя, а вот ПОЛЕ1 запросто.
После чего процедура ... :(

Re: FB2.5 зависимости поля таблицы. бажок

Добавлено: 05 авг 2011, 20:18
hvlad
Воспроизводимый пример в трекере - гарантия исправления баги :)

Re: FB2.5 зависимости поля таблицы. бажок

Добавлено: 05 авг 2011, 20:28
mustafa
В трекер не получается.

Код: Выделить всё

set autoddl on;

create table T1
(
  F1 integer,
  F2 integer);

set term ^ ;

create procedure P1
as
begin
  if (exists (select F1 from T1 where F2 = 0)) then
    exit;
end
^

set term ; ^

alter table T1 drop F1;

set term ^ ;

alter procedure P1
as
begin
  if (exists (select F1 from T1 where F2 = 0)) then
    exit;
end
^
на alter procedure P1:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
F1.
At line 4, column 25.