Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Автоматическое удаление поля в Interbase / 11 сообщений из 11, страница 1 из 1
28.10.2003, 09:58
    #32307012
djemal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
Есть таблица aaa с полями Name, Surname и т.д.
Как сделать чтобы при редактировании таблицы aaa, если значение поля Name стало равным "" (пустое) или Null
1. запись удалялась автоматически.
2. поле Surname тоже становилось равным "".

Заранее спасибо.
...
Рейтинг: 0 / 0
28.10.2003, 10:56
    #32307088
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
примари кей кто?
допустим aaa_id
тогда примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
create trigger fuckthisrow for aaa
after update as 
begin
  if ((name='')or(name is null))
     delete from aaa where aaa_id=new.aaa_id;
end
...
Рейтинг: 0 / 0
28.10.2003, 10:56
    #32307089
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
2djemal
1. запись удалялась автоматически.
2. поле Surname тоже становилось равным "".

Именно в таком порядке? 8-)
...
Рейтинг: 0 / 0
28.10.2003, 11:02
    #32307109
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
2alex_k
А взаимной блокировки тут не будет? Что то сомнительно. Commit на Update то еще не прошел.
...
Рейтинг: 0 / 0
28.10.2003, 12:06
    #32307226
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
щас проверил. все нормально это же FireBird :-)
...
Рейтинг: 0 / 0
29.10.2003, 10:03
    #32308363
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
2alex_k
Все равно это "идеологически" неправильно, ИМХО, так делать. Захотел юзер исправить данные в два приема (типа понимает что в имени ошибка, а как правильно - надо в соседней комнате спросить)... А там каскадное удаление...
...
Рейтинг: 0 / 0
31.10.2003, 15:10
    #32311960
djemal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
alex_k
Пример почему-то не работает.
Запускаю на выполнение в ISQL и ругается не понимает слово delete

Да и Серега это две разные задачи.
...
Рейтинг: 0 / 0
31.10.2003, 15:21
    #32311982
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
then пропустил :-)
трудно догадаться?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create trigger fuckthisrow for aaa
after update as 
begin
  if ((name='')or(name is null)) then
     delete from aaa where aaa_id=new.aaa_id;
end

...
Рейтинг: 0 / 0
03.11.2003, 11:50
    #32313272
djemal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
Спасибо за then проверю
Просто с триггерами не работал.
Может подскажешь толковую ссылку по триггерам с полным опианием.
Заранее спасибо.
...
Рейтинг: 0 / 0
03.11.2003, 11:56
    #32313287
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
...
Рейтинг: 0 / 0
04.11.2003, 09:26
    #32314336
djemal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Автоматическое удаление поля в Interbase
Есть таблица person с полями pcounter и person
Запускаем на выполнение

create trigger fuckrow_person for person
after update as
begin
if ((person='') or (person is null)) then
delete from person where pcounter=new.pcounter;
end

в ISQL , смотрим результат :

Dynamic SQL Error
-SQL error code = -206
-Column unknown
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Автоматическое удаление поля в Interbase / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]