Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
Kill100
419 / 285 / 81
Регистрация: 11.12.2010
Сообщений: 1,198
Завершенные тесты: 1
1

Таблицы связаны по принципу "Один ко многим". Как удалить запись из первой таблицы

04.05.2012, 20:17. Просмотров 3956. Ответов 5
Метки нет (Все метки)

Есть n таблиц.
Среди них есть.
Person и Inform
Person имеет Поля FIO, Adres, Id;
Inform имеет Поля Id, Id_Peron, Value
Person связна с Inform Один ко многим по полю Person.Id == Inform.Id_Peron
то есть у одной персоны может быть много информации.

Есть персона которая имеет много Inform если попробовать её удалить то Прога выбивает ошибку.
C#
1
 personTableAdapter.DeleteQuery(ID);
Код
Конфликт инструкции DELETE с ограничением REFERENCE "FK_Contact_Person1". Конфликт произошел в базе данных "BaseWork", таблица "dbo.Inform", column 'id_Person'.
Выполнение данной инструкции было прервано.
запрос выглядит
SQL
1
2
3
4
DELETE FROM Person
FROM            Person INNER JOIN
                         Inform ON Person.id = Inform.id_Person
WHERE        (Person.id = @Original_id)
Как я понял сначало надо удалить все записи Inform относящиеся к этой персоне а потом её саму удалять.
Но как построить запрос что бы он так сделал не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2012, 20:17
Ответы с готовыми решениями:

Изменить запись в таблице, если данные берутся из другой таблицы и обе таблицы связаны
Есть две связанных таблицы. как через Update изменить запись в одной таблице...

Как показать в одной datagridview "задания" из одной таблицы и в каждой строке "сумма опл" из другой таблицы
Здравствуйте. у меня вопрос точно, как в заголовке. Как показать в одной...

Как связаны между собой таблицы?
В козьем институте дали козью лабораторку. Не пойму в ней отношения между...

Как удалить запись из таблицы через datagridview с бд aceess
надо удалить все данные с таблицы либо определенную строку

Удалить из первой таблицы те строки которые есть во второй
Приветствую! Имеются 2 таблицы DataTable требуется из первой таблицы удалить...

5
Grossmeister
Модератор
3397 / 2452 / 416
Регистрация: 21.01.2011
Сообщений: 10,758
05.05.2012, 09:23 2
Дык какие проблемы? Удаляем персону с id = 10
Oracle 11 SQL
1
2
3
4
5
6
7
DELETE
FROM inform
WHERE id_person = 10
 
DELETE 
FROM person
WHERE id = 10
1
Kill100
419 / 285 / 81
Регистрация: 11.12.2010
Сообщений: 1,198
Завершенные тесты: 1
05.05.2012, 20:34  [ТС] 3
Это два разных запроса?
А то студия пишет ошибка разбора запроса.
ТО есть одним запросом сделать так нельзя ?
0
Grossmeister
Модератор
3397 / 2452 / 416
Регистрация: 21.01.2011
Сообщений: 10,758
07.05.2012, 10:05 4
Один запрос может удалять данные только в одной таблице
0
nio
5955 / 3361 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
07.05.2012, 10:39 5
На SQL Server можно настроить связь между таблицами так, что при удалении записи с первичным ключом, автоматически удалятся все записи в таблице с соответствующим внешним ключом
0
Learx
1045 / 852 / 194
Регистрация: 31.03.2010
Сообщений: 2,487
07.05.2012, 13:54 6
Цитата Сообщение от nio Посмотреть сообщение
На SQL Server можно настроить связь между таблицами так, что при удалении записи с первичным ключом, автоматически удалятся все записи в таблице с соответствующим внешним ключом
это называется каскадное удаление, можно почитать на msdn:
0
07.05.2012, 13:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2012, 13:54

C# при попытке получить таблицы SQLite "syntax error"
Хочу написать редактор ресурсов хрома, так вот, когда я лезу к паролям - всё...

Вывод из таблицы базы данных и ошибка "relation does not exists"
Доброе времени суток. Нужно сделать программу работающий с БД, созданная при...

Программное создание таблицы и ошибка "The login failed"
Добрый день. Есть приложение, которое работает с локальной БД *.mdf и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru