Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каскадное удаление .. / 6 сообщений из 6, страница 1 из 1
26.11.2002, 18:12:07
    #32072680
Jcomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление ..
есть 3 таблицы связаные по FK, задача сделать каскадное удаление (обеспечить целосность данных)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
table comp_parts
id decimal
Name Varchar

table comp_question
id decimal
text varchar
id_part decimal

table comp_answers
id
text
id_question

Хочу что бы по вхожному параметру id для таблицы comp_parts удалялись нужные записи из answers, как удалить из comp_question я думаю додумаюсь :-)
Уверен что можно сделать одним запросом ... но вот что то не получаеться ..
...
Рейтинг: 0 / 0
26.11.2002, 18:17:52
    #32072683
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление ..
Никаких запросов на удаление. В Diagrams есть свойство связи такое Cascade Delete Related Records
...
Рейтинг: 0 / 0
26.11.2002, 18:27:57
    #32072687
Jcomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление ..
>>Никаких запросов на удаление. В Diagrams есть свойство связи такое Cascade Delete Related Records

Это я знаю, но мне надо запросом ...
...
Рейтинг: 0 / 0
26.11.2002, 18:33:16
    #32072688
Fedot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление ..
А триггер AFTER DELETE для com_parts не подходит?
...
Рейтинг: 0 / 0
26.11.2002, 18:37:06
    #32072692
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление ..
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create table comp_parts(id decimal primary key, Name Varchar)

create table comp_question(id decimal primary key,text varchar,id_part decimal references comp_parts(id))

create table comp_answers(id decimal primary key, text varchar, id_question decimal references comp_question(id))

insert comp_parts values ( 1 , 't')
insert comp_question values ( 1 , 'v',  1 )
insert comp_answers values ( 1 , 'a',  1 )

delete a from comp_answers a, comp_question q where a.id_question = q.id and q.id_part =  1 
delete comp_question where id_part =  1 
delete comp_parts where id =  1 

...
Рейтинг: 0 / 0
26.11.2002, 19:01:35
    #32072703
Jcomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление ..
Спасибо jimmers
Когда я научусь уже сам писать ... :-) ...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каскадное удаление .. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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