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

Заранее спасибо.
...
Рейтинг: 0 / 0
Автоматическое удаление поля в Interbase
    #32307088
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примари кей кто?
допустим 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
Автоматическое удаление поля в Interbase
    #32307089
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2djemal
1. запись удалялась автоматически.
2. поле Surname тоже становилось равным "".

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

Да и Серега это две разные задачи.
...
Рейтинг: 0 / 0
Автоматическое удаление поля в Interbase
    #32311982
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Автоматическое удаление поля в Interbase
    #32313272
djemal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за then проверю
Просто с триггерами не работал.
Может подскажешь толковую ссылку по триггерам с полным опианием.
Заранее спасибо.
...
Рейтинг: 0 / 0
Автоматическое удаление поля в Interbase
    #32313287
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Автоматическое удаление поля в Interbase
    #32314336
djemal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица 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
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Автоматическое удаление поля в Interbase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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