Страница 1 из 1
Синтаксис хранимой процедуры
Добавлено: 18 июл 2006, 09:42
KostyaK
Работаю с IB7.
Проблема с созданием хранимой процедуры.
Необходимо в поле NUMBERDEVICE таблицы Devices вставить некоторое значение (которое является входным параметром процедуры).
Пишу в IBConsol
SET TERM !! ;
CREATE PROCEDURE MyProc ("NUMBERDEVICE_from_SCADA" INTEGER)
AS
BEGIN
INSERT INTO Devices (NUMBERDEVICE) VALUES ("NUMBERDEVICE_from_SCADA")
EXIT ;
END ;
SET TERM ; !!
Не фурычит...
Пишет, что ошибка в 5-ой строке (с оператором INSERT) - "Token UnKnown", SQL Error code - 104.
Очень подозреваю, что дело в синтаксисе, но что именно?
Добавлено: 18 июл 2006, 09:54
CyberMax
Попробуй через IB Expert это сделать. Что за изврат через консоль писать

.
Re: Синтаксис хранимой процедуры
Добавлено: 18 июл 2006, 10:04
KostyaK
Проблема в строке
KostyaK писал(а):
INSERT INTO Devices (NUMBERDEVICE) VALUES ("NUMBERDEVICE_from_SCADA")
Очень подозреваю, что дело в синтаксисе, но что именно?
Если поменять на
INSERT INTO Devices (NUMBERDEVICE) VALUES (13)
,то всё нормально работает.
Вопрос: как передать входной параметр NUMBERDEVICE_from_SCADA в строку INSERT?
Добавлено: 18 июл 2006, 10:11
kdv
Костя, иди пожалуйста, читай документацию.
Добавлено: 18 июл 2006, 10:21
KostyaK
kdv писал(а):Костя, иди пожалуйста, читай документацию.
1) Сейчас этмим и занимаюсь
2) И долго думал над столь информативным ответом?
Добавлено: 18 июл 2006, 10:56
adima
KostyaK писал(а):kdv писал(а):Костя, иди пожалуйста, читай документацию.
1) Сейчас этмим и занимаюсь
2) И долго думал над столь информативным ответом?
двоеточие поставь перед имененем параметра
Код: Выделить всё
INSERT INTO Devices (NUMBERDEVICE) VALUES (:"NUMBERDEVICE_from_SCADA")
Добавлено: 18 июл 2006, 11:02
kdv
1) Сейчас этмим и занимаюсь
молодец.
2) И долго думал над столь информативным ответом?
чтобы было понятно - я администратор ibase.ru, и собственно владелец и автор всего этого. Так что выпендриваться не надо. Если я тебе посоветовал почитать документацию, значит твой вопрос настолько элементарен, что не заслуживает упоминания в статьях сайта, FAQ, и в том числе обсуждения здесь.
Кроме того, ни здесь ни на sql.ru не любят, когда пусть даже новичок начинает требовать разжевать ему элементарные вещи из документации или статей на сайте.
Добавлено: 18 июл 2006, 11:03
KostyaK
adima писал(а):
двоеточие поставь перед имененем параметра
Ага, и точку с запятой в конце строки
Код: Выделить всё
INSERT INTO Devices (NUMBERDEVICE) VALUES (:"NUMBERDEVICE_from_SCADA");
Спасибо, работает.