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

Вниз

Запросы на изменение системных таблиц.   Найти похожие ветки 

 
Карелин Артем ©   (2003-06-16 11:00) [0]

Надо мне делать запросы типа
update rdb$roles set RDB$OWNER_NAME = null
или RDB$TRIGGERS set RDB$TRIGGER_SOURCE = null
Выполняю запросы, а данные не меняются. Но в EMS вручную можно перебирать записи и обнулять нужные поля.
Как заставить нормально отрабатывать такие запросы?


 
Карелин Артем ©   (2003-06-16 11:40) [1]

Ну или выдает запросы типа action cancelled by trigger (0) to preserve data integrity
cannot modify or erase a system trigger

Хотя "Ручками" в EMS можно обнулять данные поля.


 
Alexandr ©   (2003-06-16 12:06) [2]

граблей мало? Захотелось новых ощущений?


 
Карелин Артем ©   (2003-06-16 12:26) [3]

Alexandr © (16.06.03 12:06)
Заметь: очистить хочется текст триггеров (хранимых процедур, пояснений разных), а не чего-то страшного-ужасного.


 
Alexandr ©   (2003-06-16 12:36) [4]

а, ну это нормально должно быть.
А почему null а не просто ""?


 
Карелин Артем ©   (2003-06-16 12:38) [5]

Alexandr © (16.06.03 12:36)
А что? Есть принципиальная разница?


 
Danilka ©   (2003-06-16 12:42) [6]

Карелин Артем © (16.06.03 12:26)
а не проще ли стандартными средствами?

alter trigger XXX as;

или так не катит?


 
Карелин Артем ©   (2003-06-16 12:46) [7]

Danilka © (16.06.03 12:42)
У меня большие сомнения насчет этой команды, ибо он при этом долже еще и компиллироваться. А мне надо очистить текст и оставить BLR. Ну и еще несколько подобных запросов к другим таблицам выполнить.


 
Alexandr ©   (2003-06-16 12:51) [8]

есть утилита IBClear
вот и посмотри ее...


 
Zacho ©   (2003-06-16 12:54) [9]

UPDATE RDB$TRIGGERS SET RDB$TRIGGER_SOURCE="" WHERE RDB$SYSTEM_FLAG=0 - такой запрос пройдет


 
Карелин Артем ©   (2003-06-16 13:01) [10]

Zacho © (16.06.03 12:54)
Пришел без ошибок и без обновлений таблицы однако.


 
Alexandr ©   (2003-06-16 13:02) [11]

:)


 
Zacho ©   (2003-06-16 13:09) [12]


> Карелин Артем © (16.06.03 13:01)

Ну, не знаю, у меня - работает. Может ты просто коммит не сделал ?


 
Карелин Артем ©   (2003-06-16 13:13) [13]

Zacho © (16.06.03 13:09)
Сделал. А ты какими компонентами пользовался?


 
Zacho ©   (2003-06-16 13:17) [14]


> Карелин Артем © (16.06.03 13:13)

Никакими. Я это только что проверил в IBExpert. Правда, у меня Yaffil, но не думаю, что это имеет значение.


 
Карелин Артем ©   (2003-06-16 13:24) [15]

А у меня огненная птичка и проверил я в EMS как sql-скрипт и хранимую процедуру.
Видимо птичка имеет значение.


 
Zacho ©   (2003-06-16 13:33) [16]


> Карелин Артем © (16.06.03 13:24)

Что такое EMS ? QuickDesk что-ли ? А разве он еще жив ?

> как sql-скрипт и хранимую процедуру

Не понял.. UPDATE что-ли из ХП делал ?
Все-таки я уверен, что и в FB это должно отлично работать. Только текст системных триггеров удалить нельзя.


 
Карелин Артем ©   (2003-06-16 13:41) [17]

>Не понял.. UPDATE что-ли из ХП делал
и так тоже.
>Что такое EMS ? QuickDesk что-ли ? А разве он еще жив ?
Жив, я им давно пользуюсь. Последней халявной версией.


 
Zacho ©   (2003-06-25 12:11) [18]

Заинтересовала меня эта ерунда, только что проверил. Сделал маленькое приложение на IBX - IBDataBase, IBTransaction, IBSQL.
В IBSQL запрос UPDATE RDB$TRIGGERS SET RDB$TRIGGER_SOURCE="" WHERE RDB$SYSTEM_FLAG=0.
По нажатию на кнопку стартуется транзакция, делается IBSQL.ExecQuery и IBTransaction.Commit
Все нормально отработало, RDB$TRIGGER_SOURCE очистилось.
Так что попробуй поставить последний апдейт IBX. Или все-таки IBX здесь вообще ни причем, а где-то у тебя ошибка в коде. Проверь еще раз, ты точно Commit делаешь ?


 
Карелин Артем ©   (2003-06-25 12:19) [19]

Zacho © (25.06.03 12:11)
Неисповедимы глюки господни.



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

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

Наверх




Память: 0.51 MB
Время: 0.016 c
1-55520
Makhanev A.S.
2003-07-03 23:06
2003.07.17
GroupBox.Visible - AV?


6-55683
iFot
2003-05-09 08:22
2003.07.17
Перехват нажатой ссылки в tWebBrowser


1-55592
Vint45
2003-07-03 11:53
2003.07.17
Увеличение быстродействия прорисовки компонентов


14-55838
Skier
2003-06-30 09:05
2003.07.17
Иерархия классов Delphi


7-55866
Cooller
2003-05-07 14:27
2003.07.17
Имя дисковода