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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание хранимой процедуры, FireBird 2.1 
:(
    Опции темы
Artemon
Дата 30.8.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

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



Пытаюсь через FireBird Maestro создать ХП:

Код

SET TERM ^ ;

RECREATE PROCEDURE PROCEDURE02
AS 
BEGIN
  SELECT * FROM TABLE01
END^

SET TERM ; ^


На что мне сервер выдает ошибку:
SQL Error:  Dynamic SQL Error SQL error code = -104 Token unknown - line 5, column 1 END. Error Code: -104. Invalid token The SQL: RECREATE PROCEDURE PROCEDURE02
AS 
BEGIN
  SELECT * FROM TABLE01
END
; 


Уже по всякому пробовал создать ХП, не создается, всегда ругается на синтаксис.
Как вообще можно создать ХП ?


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Akella
Дата 30.8.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



может create или alter procedure?

Добавлено @ 20:08
http://www.nabble.com/Recreate-procedure-td10557250.html

Добавлено через 8 минут и 30 секунд
Цитата(Artemon @  30.8.2008,  16:52 Найти цитируемый пост)
Как вообще можно создать ХП ? 

 smile да уж, если элементарного не знаете....
тогда Вам на ibase.ru и читать читать читать

Добавлено через 9 минут и 52 секунды
Цитата(Artemon @  30.8.2008,  16:52 Найти цитируемый пост)
Как вообще можно создать ХП ? 


Цитата(Artemon @  30.8.2008,  16:52 Найти цитируемый пост)
RECREATE PROCEDURE

если хоть немного знать английский язык, а программист обязан хоть чуть чуть его знать, то RECREATE переводиться, как пересоздать

Добавлено через 10 минут и 31 секунду
Цитата(Artemon @  30.8.2008,  16:52 Найти цитируемый пост)
FireBird Maestro 

со своей стороны советую попробовать IBExpert

Это сообщение отредактировал(а) Akella - 30.8.2008, 20:09
PM MAIL   Вверх
Artemon
Дата 31.8.2008, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

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



Akella, вы думаете я просто так запостил сюда этот вопрос, перепробовал массу вариантов создания ХП, и если посмотреть на начало топика, то я привожу скрипт, которым пытаюсь созать процедуру, но безуспешно. И привожу конкретную ошибку, если не заметили.

Пробовал и CREATE И ALTER - такоеже сообщение об ошибке.

Цитата

тогда Вам на ibase.ru и читать читать читать

Добавлено через 9 минут и 52 секундыЦитата(Artemon @  30.8.2008,  16:52 )
Как вообще можно создать ХП ? 


Цитата(Artemon @  30.8.2008,  16:52 )
RECREATE PROCEDURE


если хоть немного знать английский язык, а программист обязан хоть чуть чуть его знать, то RECREATE переводиться, как пересоздать


В данном случае написал RECREATE PROCEDURE, т.к. создал пустую процедуру и попытался ее отредактировать (один из вариантов), так что про английский - оставьте при себе.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Akella
Дата 31.8.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(Artemon @  31.8.2008,  10:07 Найти цитируемый пост)
В данном случае написал RECREATE PROCEDURE, т.к. создал пустую процедуру и попытался ее отредактировать

Что-то я не пойму, так удалось создать или не удалось?

Если создал и нужно изменить, то alter procedure.

Изъясняйся понятнее, что ты уже делал, а что пытаешься сделать, но не получается.

Извини, мысли твои читать пока не могу.

В итоге до меня начинает доходить, что ты когда-то создал уже процедуру (create procedure). А теперь пытаешься её отредактировать, так?

Добавлено через 2 минуты и 24 секунды
Начать нужно было с того, какой у тебя сервер, может он не понимает RECREATE PROCEDURE. Может это тот маестро глючит.
Ты воспользовался моим советом по поводу IBExpert?
PM MAIL   Вверх
Artemon
Дата 31.8.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


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

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



Дело в том, что пустаю ХП создается корректно.
Если пробую в ХП вставить малейший смысл, например: SELECT * FROM CATEGORIES, то тутже ругается на синтаксис SQL.

По поводу Maestro, я тоже подозреваю что именно он глючит, попробую IBExpert.

P.S.

FireBird 2.1


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
sergey_85
Дата 1.9.2008, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 17.4.2007
Где: Россия, Челябинск

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



Вам надо вооружиться книгой по Firebird!
Это вам не MS SQL Server здесь 
Код

select * from table 


в хп просто не прокатит!

А катит здесь например такое 

Код

set term ^;

create procedure  my_sp_example ( id_search  integer)
returns ( CONTRACTNAME varchar (150))
as
begin
select CONTRACTNAME from contracts where CONTRACTID = :id_search into :CONTRACTNAME;
suspend;
end;


а чтобы выбрать данные
Код

select * from MY_SP_EXAMPLE(23)




Посмотри здесь хорошая среда разработки (http://www.sqlly.com/) -бесплатна 
+  IBExpert
 - импорт/экпорт проектов
- система контроля версий
- и многое другое 

А вот и книга (только автор)
хеллен борри
FireBird руководство разработчика баз данных


--------------------
A good design always pays off.
PM MAIL   Вверх
Deniz
Дата 1.9.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

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



Цитата(sergey_85 @  1.9.2008,  12:07 Найти цитируемый пост)
А катит здесь например такое
...
select CONTRACTNAME from contracts where CONTRACTID = :id_search into :CONTRACTNAME;
...
такое не прокатит если в таблице больше одной записи.
Надо так:
Код

  for select CONTRACTNAME from contracts where CONTRACTID = :id_search into :CONTRACTNAME do suspend;



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
sergey_85
Дата 1.9.2008, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 17.4.2007
Где: Россия, Челябинск

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



ах да забыл молодец что испарвил!


--------------------
A good design always pays off.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

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

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

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

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

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

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


 




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


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

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