Здравствуйте, <Аноним>, Вы писали:
А>Здрастуйте,
А>Извините за глупый вопрос, но в БД я полный профан
. Столкнулся с такой вещью: пытаюсь создать ХП (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>>