Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать
Модераторы: kdv, dimitr
-
mustafa
- Сообщения: 67
- Зарегистрирован: 07 мар 2006, 17:53
Сообщение
mustafa » 05 авг 2011, 20:15
Если в процедуре написать
Код: Выделить всё
if (exists(select ПОЛЕ1 from таблица where ПОЛЕ2 = ... )) then ...
то удалить ПОЛЕ2 нельзя, а вот ПОЛЕ1 запросто.
После чего процедура ...
-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 05 авг 2011, 20:18
Воспроизводимый пример в трекере - гарантия исправления баги
-
mustafa
- Сообщения: 67
- Зарегистрирован: 07 мар 2006, 17:53
Сообщение
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.