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

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
mustafa
Сообщения: 67
Зарегистрирован: 07 мар 2006, 17:53

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

Сообщение mustafa » 05 авг 2011, 20:15

Если в процедуре написать

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

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

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

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

Сообщение hvlad » 05 авг 2011, 20:18

Воспроизводимый пример в трекере - гарантия исправления баги :)

mustafa
Сообщения: 67
Зарегистрирован: 07 мар 2006, 17:53

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

Сообщение mustafa » 05 авг 2011, 20:28

В трекер не получается.

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

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.

Ответить