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

not belong to referenced table

Добавлено: 21 дек 2012, 12:55
maksbazhin
Здравствуйте.
Такая ситуация:
Firebird 2.5, IBEScript.
Есть таблица с полем EVENTS_DATA мне нужно получить все необработанные события с давностью больше 5 минут для чего:

d2=current_timestamp()-0,00347;
select MAX(EVENTS_ID) from EVENTS where EVENTS_DATA <= d2 into :EVENTS_ID;

в ответ получаю: column does not belong to referenced table.
Пробовал кавычки - не помогает либо parsing error либо нулевой результат, что может быть.

Re: not belong to referenced table

Добавлено: 21 дек 2012, 15:45
Dimitry Sibiryakov
Переменные в запросах предваряются двоеточием. RTFM Language Reference.

Re: not belong to referenced table

Добавлено: 21 дек 2012, 21:10
kdv
это не MS SQL. В Firebird нет понятия "скриптов". все операторы в "скрипте" выполняются по одиночке, и между ними не может быть никакой связи.
DS правильно сказал, что d2 должен быть :d2. Но это относится к IBEScript.
Вы можете почитать про execute block в Firebird 2.x, и это будет более правильно. Но там тоже придется параметрам указывать :.

Re: not belong to referenced table

Добавлено: 21 дек 2012, 22:07
maksbazhin
Переменные в запросах предваряются двоеточием
Спасибо получилось, в таком варианте:
d2=current_timestamp()-0,00347;
select MAX(EVENTS_ID) from EVENTS where EVENTS_DATA <= :d2 into :EVENTS_ID;
когда ранее пытался поставить : перед d2=current_timestamp()-0,00347; выпадал parsing error, не знал что надо в запросах поэтому парафин :D .