Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2009, 23:18   #1
Andre1723
Пользователь
 
Аватар для Andre1723
 
Регистрация: 17.02.2008
Сообщений: 74
Вопрос Ошибка создания процедуры

Здравствуйте.
При попытке создания хранимой процедуры в IBConsole выдает ошибку:
Код HTML:
Dynamic SQL Error
SQL error code = - 104
Token unknown – line 4, char – 1
INSERTon line 2: CREATE PROCEDURE ins_sitytype 
(SityTypeName VARCHAR(20)   ) 
AS  
INSERT INTO (SityTypeName  ) 
VALUES (:SityTypeName  ) !!
SET TERM ;  !!
Подскажите, что это такое и счем его едят?
Текст запроса создан при помощи ERWIN 3.5.2
Код HTML:
SET TERM  !! ;
CREATE PROCEDURE ins_sitytype 
(SityTypeName VARCHAR(20)   ) 
AS  
INSERT INTO (SityTypeName  ) 
VALUES (:SityTypeName  ) !!
SET TERM ;  !!
....
База данных InterBase SQL Server W1-V7.0.1.1
Среда разработки Borland Developer Studio 2006.
Andre1723 вне форума Ответить с цитированием
Старый 11.05.2009, 12:09   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

у процедуры еще нужно указывать
Код:
begin
...
end
soleil@mmc вне форума Ответить с цитированием
Старый 12.05.2009, 00:13   #3
Andre1723
Пользователь
 
Аватар для Andre1723
 
Регистрация: 17.02.2008
Сообщений: 74
По умолчанию

Прошу прощения, неправильно скопировал кусок кода...
Код:
SET TERM  !! ; 
CREATE PROCEDURE upd_streettype 
(StreetType_id INTEGER,StrTypeName VARCHAR(20)) 
AS 
BEGIN 
UPDATE StreetType SET StrTypeName=:StrTypeName  
WHERE StreetType_id=:StreetType_id ; 
END !!
SET TERM ;  !!

SET TERM  !! ; 
CREATE PROCEDURE del_streettype 
(StreetType_id INTEGER   ) 
AS 
BEGIN 
DELETE FROM StreetType 
WHERE StreetType_id=:StreetType_id ; 
END !!  
SET TERM ; !!
...
Насколько я понял, скобки "SET TERM" нужны для того, чтобы вставить в SQL-запрос создание нескольких процедур.
Без этих "скобок" и по одной, процедуры с грехом пополам создаются.
Andre1723 вне форума Ответить с цитированием
Старый 12.05.2009, 12:28   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

то что вы называете
Цитата:
Сообщение от Andre1723 Посмотреть сообщение
скобки "SET TERM"
просто директива считать указанный символ концом ввода и запустить выполнение введенного (а то по умолчанию этим символом является "точка с запятой" и тогда процедуру не создашь)

но суть не в этом
а в том, что вы наверное накопили на каждую операцию для каждой из таблиц своей схемы по процедуре и теперь будете в каждом посте их приводить - либо создавайте скрипт и аттачьте его, либо приведите ошибочный текст - тогда получите ответ на вопрос. а пока что его не видно

З.Ы.: по опыту сподручнее для каждой из таблиц писать процедуру ins_upd_del_my_table, в которой отрабатываются все случаи вставки/обновления/удаления записей, а также все проверки (часть которых может бьть реализована на триггере(ах))
soleil@mmc вне форума Ответить с цитированием
Старый 15.05.2009, 17:22   #5
Andre1723
Пользователь
 
Аватар для Andre1723
 
Регистрация: 17.02.2008
Сообщений: 74
Вопрос

Здрвствуйте.
Ладно, проехали. Все процедуры создал вручную (в SQL Explorer).
Теперь другой вопрос. Пытаюсь повторить программу (подстраивая "под себя") из Проектирование баз данных по технологии «клиент-сервер» и разработка клиентских приложений: Учебное пособие / Г.П. Токмаков. Но программа в пособии написана с использованием BDE, а мне нужно использовать InterBase.
При описании одной из процедур, экспортируемых из DLL используется элемент BDE типа HDBIDB. Вопрос: какой аналог этого элемента приведенного типа есть в INTERBASE?
Andre1723 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
EMS InterBase & FireBird Manager 3 ошибка создания Базы данных Gilio БД в Delphi 2 08.05.2009 15:59
Ошибка создания idhttp1 zotox Помощь студентам 6 26.10.2008 21:41
ошибка при вызывание сторед процедуры vasylshvv Общие вопросы .NET 2 01.10.2008 12:15
Ошибка создания MDI Child формы VVVadim Общие вопросы Delphi 7 05.06.2008 19:25
Ошибка создания доступа к папке Oleg-vp Работа с сетью в Delphi 4 14.01.2008 14:35