Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при создании процедуры [D5, IB6.x]


cranium ©   (2002-04-22 03:17:00) 

Создаю таблицу

CREATE TABLE NONCAPITALIZED_IN_JR (
CipherPro VARCHAR(20) NOT NULL COLLATE PXW_CYRL,
DateIn DATE,
NamePro VARCHAR(30) NOT NULL COLLATE PXW_CYRL,
Piece FLOAT,
UnitMeas MERA,
UnitPrice MONEY,
PersonalNumber VARCHAR(20) NOT NULL COLLATE PXW_CYRL,
FOREIGN KEY (PersonalNumber) REFERENCES EMPLOYEE_SP
);

Далее пытаюсь создать процедуру
CREATE PROCEDURE IN_NonCapitalized_In_JR (СPro VARCHAR (20), DOut DATE)
BEGIN
INSERT INTO NonCapitalized_OUT_JR (CipherPro, DateIn)
VALUE (:Cpro, :Dout);
END

А InterBase выдает ошибку
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE PROCEDURE
В чем собственно грабли? Или INSERT можно вызвать только из клиенского приложения?


Val   (2002-04-22 19:14:00) [1]

>Desdechado © (22.04.02 19:03)
не очень помню как в IB, но в Oracle SP для параметров указывается тип без размерности.


Val   (2002-04-22 19:12:00) [2]

CREATE PROCEDURE .. AS


Desdechado   (2002-04-22 19:03:00) [3]

2 roottim
еще как пишут! Это вполне корректно.

вот SET TERM действительно нужен.

а где споткнется еще:
1. INSERT ... VALUE S
2. в INSERT перечислены не все поля, которые NOT NULL


roottim   (2002-04-22 17:11:00) [4]

чесно говоря я не интербазовец
но такое дело СPro VARCHAR (20)никогда не пишут
либо тип такой обьявляй, либо убирай размерность!


Malder   (2002-04-22 17:10:00) [5]

Угу. Какое сообщение об ошибке выдается ?


Johnmen   (2002-04-22 16:32:00) [6]

А как не работает ?


cranium   (2002-04-22 16:22:00) [7]

А причем тут разделитель? Все равно не работает:((((


DarkGreen   (2002-04-22 05:55:00) [8]

Смотри описание SET TERM
Должно быть так:


SET TERM ^ ;
CREATE PROCEDURE IN_NonCapitalized_In_JR (СPro VARCHAR (20), DOut DATE)
BEGIN
INSERT INTO NonCapitalized_OUT_JR (CipherPro, DateIn)
VALUE (:Cpro, :Dout);
END^
SET TERM ; ^


Наверх

Титульная страница Поиск, карта сайта Написать письмо