Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сводная таблица


Страницы:   1 2

ankazh ©   (2012-09-03 00:02:00) 

Есть две таблицы. Дом1(поля: фамилия, имя) Дом2(поле: фамилия).Вывожу в dbgrid через adoquery  select дом1.имя from дом1 union select дом2.имя from дом2.
Возможно ли как-нибудь, выбранную запись в дбгриде, удалить(DBGrid1.DataSource.DataSet.delete) и при этом чтобы соотв.запись в табл дом1 также удалялась (чтоб удалялось фамилия и имя)??????
Как это возможно реализовать?


sniknik   (2012-09-03 09:34:00) [21]

> Автор об этом спрашивал? Про удаление из дом2 в вопросе ничего не вижу.
а ты поменяй в вопросе дом2 на дом1 и наоборот, или у меня в ответе Клиенты на Заказы и наоборот.

какая вообще разница имя таблицы в принципе? вопрос не в именах таблиц, а в "Как это возможно реализовать?".


Inovet   (2012-09-03 08:45:00) [22]

Автор это спрашивал? > [3] sniknik ©   (03.09.12 07:53)
> см. пример в [1], для чего он по твоему тут?

Автор об этом спрашивал? Про удаление из дом2 в вопросе ничего не вижу.


sniknik   (2012-09-03 07:53:00) [23]

> У автора UNION
и что?

> и явно не нормализована база
см. пример в [1], для чего он по твоему тут?


Inovet   (2012-09-03 06:42:00) [24]

> [1] sniknik ©   (03.09.12 00:44)

У автора UNION и явно не нормализована база - две по сути одинаковые таблицы, ещё и без ИД, видимо однофамильцев не бывает, или бывают редко же и мы им в конце точку припишем.


sniknik   (2012-09-03 00:44:00) [25]

например (соответствующий хелп), один из вариантов (есть еще триггеры, удаление по связанному полю, и т.д. моло ли напридумывали мне неизвестного...)
->

Можно указать подлежащие выполнению действия с внешней таблицей, исходя из соответствующего действия, выполняемого над ключом в той таблице, для которой определено предложение CONSTRAINT. Например, рассмотрим следующее определение таблицы «Клиенты»:
CREATE TABLE Клиенты (ИндексКлиента INTEGER PRIMARY KEY, CLstNm NCHAR VARYING (50))

Рассмотрим следующее определение таблицы «Заказы», в котором задано отношение для внешнего ключа, адресующее ключ в таблице «Клиенты»:

CREATE TABLE Заказы (КодЗаказа INTEGER PRIMARY KEY, ИндексКлиента INTEGER, ПримечанияЗаказа NCHAR VARYING (255), CONSTRAINT ВнКлЗаказыИндексКлиента FOREIGN KEY (ИндексКлиента) REFERENCES Клиенты ON UPDATE CASCADE ON DELETE CASCADE

Оба предложения ON UPDATE CASCADE и ON DELETE CASCADE определены для внешнего ключа. Предложение ON UPDATE CASCADE означает, что в случае обновления кода клиента (ИндексКлиента) в таблице «Клиенты», в таблице «Заказы» будет произведено соответствующее каскадное обновление. Каждый заказ, содержащий соответствующее значение кода клиента, будет автоматически обновлен с использованием нового значения этого кода. Предложение ON DELETE CASCADE означает, что в случае удаления клиента из таблицы «Клиенты», все строки таблицы «Заказы», содержащие код данного клиента, также будут удалены.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо