Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Как програмно поменять ограничитель SET TERM   Найти похожие ветки 

 
Basic ©   (2003-03-23 01:08) [0]

Как програмно поменять ограничитель SET TERM

Надо внести в базу данных хранимую процедуру, но предварительно по правилам
поменять ограничитель, в ISQL все отладил, начал переносить в делфи, ругается
говорит синтаксическая ошибка
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 4
TERM

А без нее не пропускает создание хранимой процедуры, ей не нравится ;

текст в делфях
IBTransaction1.StartTransaction;
IBsql1.SQL.Clear;
IBsql1.SQL.add("SET TERM ^ ");
IBsql1.ExecQuery;
IBTransaction1.Commit;


 
kaif ©   (2003-03-23 02:27) [1]

SET TERM это не команда SQL. Это команда для парсера скрипта, который разбирает скрипт на отдельные команды и посылает их по одной на сервер.
Так что для того, чтобы поместить процедуру на сервер нужно просто вписать ее текст (буквально) без всяких SET TERM в
IBSQL.SQL и выполнить ExecQuery.
Разумеется, это может быть текст только одной отдельно взятой процедуры. В конце текста терминатор не нужен.
Например, вписываешь:

CREATE PROCEDURE AAA
RETURNS(ID INTEGER, NAME VARCHAR(20))
AS
BEGIN
FOR SELECT ID,NAME FROM BBB
INTO :ID,:NAME
DO SUSPEND;
END

Здесь имеется терминатор ";" в тексте процедуры, но никакого терминатора в конце текста (типа ^), так как здесь только одна процедура и ее не нужно отделять от других, как это приходится делать в скрипте, состоящем из множества команд.




 
Сергєєв Володимир ©   (2003-03-23 04:22) [2]

Просетапь IBX6.05 и не страдай ......

Там есть компонента (для любителей FireBird скажу кстати, что в OpenSource) TIBSQLParser & TIBSQLScript. Они уже все сами умеют делать.


 
ruslanyd   (2003-03-24 10:53) [3]

а IB7, похоже, команда "set term" ушла в историю -
парсер поумнел :)



Страницы: 1 вся ветка

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
7-30622
Sergei
2003-02-14 16:03
2003.04.10
Как запретить на машине запуск любых консольных приложений?


1-30338
Alexander Vasjuk
2003-03-31 15:21
2003.04.10
Как разобрать метафайл по косточкам?


1-30434
Солер
2003-03-29 12:49
2003.04.10
Как закрыть Excel


8-30464
Kotka
2003-01-05 15:18
2003.04.10
Изменить громкость записи


4-30661
Radimir
2003-02-10 11:46
2003.04.10
перезагрузка компьютера