Re: Ошибка прекомпиляции
От: Новиков Федор Борисович Россия  
Дата: 05.12.05 19:06
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здрастуйте,


А>Извините за глупый вопрос, но в БД я полный профан . Столкнулся с такой вещью: пытаюсь создать ХП (IB 7), но в ответ получаю ошибку прекомпиляции, подскажите, пожалуйста в чем моя ошибка?



А>
А>CREATE PROCEDURE TEST (
А>    SIDN INTEGER)
А>RETURNS (
А>    RESULT FLOAT)
А>AS
А>BEGIN
А>  RESULT = (SELECT SUM('COUNT') FROM TESTTABLE WHERE SIDN IS NULL)
А>  SUSPEND;
А>END
А>


Предлагаю такой вариант:
CREATE PROCEDURE TEST (
    SIDN INTEGER)
RETURNS (
    RESULT FLOAT)
AS
BEGIN
  SELECT SUM(COUNT) FROM TESTTABLE WHERE SIDN IS NULL INTO :RESULT;
  SUSPEND;
END


Синтаксис Interbase требует завершать каждый оператор точкой с запятой, параметры в запросах должны начинаться с двоеточия. Кроме этого, непонятное выражение SUM('COUNT') — апострофы выделяют строковую константу, что значит сумма строковых констант.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Федор Новиков
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.