Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

Как програмно поменять ограничитель 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
14-30549
MaxVolkin
2003-03-24 18:21
2003.04.10
Где взять?


14-30532
Думкин
2003-03-24 07:38
2003.04.10
Времена


1-30363
esa
2003-04-01 06:23
2003.04.10
Как скопировать папку


8-30470
moxx
2003-01-08 18:13
2003.04.10
Кончается Canvas ?


6-30492
Yrtimd
2003-02-18 09:55
2003.04.10
WinSocks2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский