Ошибка прекомпиляции
От: Аноним  
Дата: 05.12.05 03:46
Оценка:
Здрастуйте,

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


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



Спасибо.
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>>
Федор Новиков
Re[2]: Ошибка прекомпиляции
От: sfsoft Россия  
Дата: 05.12.05 19:40
Оценка:
Здравствуйте, <Аноним>, Вы писали:

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


НФБ>Предлагаю такой вариант:

НФБ>
НФБ>CREATE PROCEDURE TEST (
НФБ>    SIDN INTEGER)
НФБ>RETURNS (
НФБ>    RESULT FLOAT)
НФБ>AS
НФБ>BEGIN
НФБ>  SELECT SUM(COUNT) FROM TESTTABLE WHERE SIDN IS NULL INTO :RESULT;
НФБ>  SUSPEND;
НФБ>END
НФБ>


Новиков Федор Борисович прав. Но у меня есть один вопрос: а зачем в SP передавать sidn, если параметр нигде не используется?
Re[3]: Ошибка прекомпиляции
От: Аноним  
Дата: 06.12.05 03:23
Оценка:
Здравствуйте, sfsoft, Вы писали:

S>Новиков Федор Борисович прав. Но у меня есть один вопрос: а зачем в SP передавать sidn, если параметр нигде не используется?


Спасибо огромнейшее и Новикову Федору Борисовичу, и sfsoft, INTO рулит . А по поводу параметра — это ведь "CREATE PROCEDURE TEST", так сказать проба пера
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.