Главная страница
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.016 c
3-30319
Cranium
2003-03-23 17:51
2003.04.10
Как передать параметр для DeleteSQL в IBDataSet


14-30586
Wonder
2003-03-25 15:42
2003.04.10
Ищется провайдер


7-30634
Ruf
2003-02-14 11:18
2003.04.10
hotkey


14-30554
D
2003-03-24 16:43
2003.04.10
Как сгенерировать звук?


8-30468
jeka
2003-01-08 09:44
2003.04.10
Перенаправление звукового потока