Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
7-30620
HardClubber
2003-02-15 21:25
2003.04.10
CD ROM. проиграть трэк


4-30651
Tuzemec
2003-02-04 00:08
2003.04.10
Консольные приложения


3-30264
Silver_
2003-03-21 09:48
2003.04.10
LookupFields = КОШМАР на улицах Дельфи


3-30277
Term
2003-03-20 11:02
2003.04.10
База Paradox , такая проблема, добавляю запись, вопрос такой.....


8-30475
Макс1
2003-01-03 15:01
2003.04.10
Распознование изображений




   Наверх