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

Вниз

Программное удаление в Firebird   Найти похожие ветки 

 
Михалыч   (2015-12-25 12:53) [0]

Здравствуйте мастера! Помогите пожалуйста,а то нигде не могу найти живой пример нужного мне кода. Использую Firebird 2.5. Надо добавить колонку в таблицу и удалить хранимку,тригер и генератор в существующей таблице,чтобы потом с помощью скрипта создать новые. Делаю так:
try
   with DataModule1.IBQuery1 do
   begin
   Close;
   SQL.Clear;
   SQL.Add("ALTER TABLE MyTable");
   SQL.Add("ADD NewField VARCHAR(20)");
   SQL.Add("DROP PROCEDURE PROCMyTable");
   SQL.Add("DROP TRIGGER MyTable_BI");
   SQL.Add("DROP SEQUENCE GEN_MyTable_ID");
   if not Transaction.Active then Transaction.StartTransaction;
   ExecSQL;
   Transaction.Commit;
   Transaction.Active := false;
   Close;
   end;
 except
   on E: Exception do
   begin
   if DataModule1.IBQuery1.Active then DataModule1.IBQuery1.Transaction.Rollback;
   Application.MessageBox(PChar(E.Message), "Ошибка", MB_ICONERROR);
   end;
 end;
Получаю ошибку выполнения в программе:"Tokеn unknown DROP!"
Что делаю не так?


 
Кщд ©   (2015-12-25 13:15) [1]

Михалыч   (25.12.15 12:53)  
доку надо чтить
TIBScript


 
Михалыч   (2015-12-25 13:22) [2]

А без написания и выполнения скрипта напрямую из программы нельзя?
Или надо сменить Query на IBScript в коде?


 
macrodens ©   (2015-12-27 13:40) [3]

Точно не уверен (нет сейчас огнептица под рукой, только мускул), но вероятно, что точку с запятой поставить необходимо после каждого действия


 
Кщд ©   (2015-12-28 07:14) [4]

>macrodens ©   (27.12.15 13:40) [3]
вероятно, документацию надо читать прежде, чем давать странные советы


 
macrodens ©   (2015-12-28 09:43) [5]


Кщд ©   (28.12.15 07:14) [4]
вероятно, документацию надо читать прежде, чем давать странные советы


Ну так а что же вы ее не читаете?
То что вы предложили в [2], вполне уместно, однако, у ТС в SQL коде есть и другая ошибка - ";" после каждого оператора поставить нужно.


 
Кщд ©   (2015-12-28 11:38) [6]

>macrodens ©   (28.12.15 09:43) [5]
одно дело разово ступить, прочитать документацию и осознать
совсем другое - воинственно упорствовать в своем заблуждении

надеюсь, не затруднит привести пример рабочего кода, в котором с помощью TIBQuery выполняется скрипт?



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

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

Наверх




Память: 0.48 MB
Время: 0.004 c
15-1467754202
Юрий
2016-07-06 00:30
2017.11.19
С днем рождения ! 6 июля 2016 среда


2-1449253907
Валя
2015-12-04 21:31
2017.11.19
Запись/чтение Bitmap+текстовое описание в файл


2-1450113022
gedevan
2015-12-14 20:10
2017.11.19
Можно ли подключиться к базе Access через TStream?


15-1467813185
Unbekannt
2016-07-06 16:53
2017.11.19
Проблема с печатью этикеток на разных принтерах


15-1467649943
Копир
2016-07-04 19:32
2017.11.19
И не скучно Вам?