Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> InterBase Procedure, Как создать? 
:(
    Опции темы
kolorimage
  Дата 15.11.2010, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



Почему я  не могу создать процедуру..?
Код

CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  BEGIN
  END

А интербейс выдает мне 
Код

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
BEGIN
Statement: CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
 FOR SELECT NAME
  FROM WORKER
  INTO :head_dept
 DO
 BEGIN
 END

Почему?  smile 
PM MAIL WWW   Вверх
Akina
Дата 15.11.2010, 23:31 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 3
Всего: 454



Задавать вопрос по Интербейзу в форуме по мускулу - даже для новичка непростительно...
А вообще рекомендуется соблюдать синтаксис. В любом ЯП.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
skyboy
Дата 16.11.2010, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260




M
skyboy
перенесено из MySQL

PM MAIL   Вверх
former
Дата 16.11.2010, 16:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



kolorimage, END в конце отсутствует. Вот почему! smile 
Обрати внимание:
Код

Token unknown - line 3, char -1

Ошибка в третьей строке.
И SUSPEND  перед END не забудь.
Код

CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  BEGIN
  END
  SUSPEND;
END

Не забудь пометить, как решенный. smile 

Это сообщение отредактировал(а) former - 16.11.2010, 16:06


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Frees
Дата 16.11.2010, 16:06 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



наверно все таки suspend  в цикле нужнее
Код

CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  BEGIN
    SUSPEND;
  END
END



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
kolorimage
Дата 16.11.2010, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



Код

CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  BEGIN
  END
  SUSPEND;
END

Результат:
Код

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
BEGIN
Statement: CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
 FOR SELECT NAME
  FROM WORKER
  INTO :head_dept
 DO
 BEGIN
 END
 SUSPEND


Код

CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  BEGIN
    SUSPEND;
  END
END

Результат:
Код

Dynamic SQL Error
SQL error code = -104
Token unknown - line 3, char -1
BEGIN
Statement: CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
BEGIN
 FOR SELECT NAME
  FROM WORKER
  INTO :head_dept
 DO
 BEGIN
  SUSPEND

PM MAIL WWW   Вверх
former
Дата 16.11.2010, 17:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Frees, согласен, но если уж на то пошло, то лучше так (если дополнительная обработка не требуется):
Код

CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
AS
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  SUSPEND;
END

kolorimage, а AS-то я и не приметил. Точнее его отсутствие.  smile 
Ну а что бы было совсем красиво, то так:
Код

SET TERM ^ ;

CREATE OR ALTER PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
AS
BEGIN
  FOR SELECT NAME
    FROM WORKER
    INTO :head_dept
  DO
  SUSPEND;
END^

SET TERM ; ^


Это сообщение отредактировал(а) former - 16.11.2010, 17:40


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
kolorimage
Дата 16.11.2010, 17:40 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.8.2009

Репутация: нет
Всего: нет



Это какой то капец  smile 
Код

Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE PROCEDURE org_chart
RETURNS (head_dept CHAR(25))
AS
BEGIN
 FOR SELECT NAME
  FROM WORKER
  INTO :head_dept
 DO
 SUSPEND

Я с ИБ скоро чокнусь...
PM MAIL WWW   Вверх
former
Дата 16.11.2010, 17:47 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Цитата(kolorimage @  16.11.2010,  17:40 Найти цитируемый пост)
Я с ИБ скоро чокнусь... 

Начинай читать книги, тогда все будет нормально.
Цитата(kolorimage @  16.11.2010,  17:40 Найти цитируемый пост)
Это какой то капец

Правильно какой-то. Русский синтаксис тоже хромает. smile 

Это сообщение отредактировал(а) former - 16.11.2010, 17:51


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Frees
Дата 16.11.2010, 18:43 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(kolorimage @  16.11.2010,  20:40 Найти цитируемый пост)
Это какой то капец

Точку с запятой ставить надо после suspend (после end не надо)


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
former
Дата 17.11.2010, 08:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 1
Всего: 17



Цитата(Frees @  16.11.2010,  18:43 Найти цитируемый пост)
Точку с запятой ставить надо после suspend (после end не надо) 

Frees, там end вообще пропущен. 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.