0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 77
1

Долгое удаление

19.03.2018, 15:28. Показов 1831. Ответов 1

Author24 — интернет-сервис помощи студентам
Название темы случайно старое осталось - новое: Изменение foreign key в рамках текущей сессии.

Друзья, помогите пожалуйста в интересном вопросе! =)

Есть foreign key:
T-SQL
1
2
3
4
5
6
7
8
ALTER TABLE [dbo].[fact_UOP]  WITH CHECK ADD  CONSTRAINT [FK_Doc] FOREIGN KEY([ParentID])
REFERENCES [dbo].[doc] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
 
ALTER TABLE [dbo].[fact_UOP] CHECK CONSTRAINT [FK_Doc]
GO
Можно ли в своем скрипте в начале изменить fk в рамках текущей сессии, чтобы ON DELETE CASCADE не отрабатывал, а потом вернуть обратно? Суть вопроса - возможно ли именно в рамках сессии, чтобы на остальных пользователей не влиять? Либо какой командой отключить чеки?

Версия sql: Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64) Apr 29 2016 23:23:58 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: )

Заранее благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2018, 15:28
Ответы с готовыми решениями:

Долгое выполнение вставки в цикле
Все привет, подскажите что не так сделал, уж слишком долго он вставляет данные в таблицу DECLARE...

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

Долгое включение ПК
Здарова всем!Проблема в том,что комп долго включаеться(20-30 полосочек проходят). Копм вроде не...

Долгое выключение
Здравствуйте! Возникла такая проблема: система долго выключается (Windows 7 x64). Вроде никаких...

1
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
19.03.2018, 18:33 2
Цитата Сообщение от Aspromist Посмотреть сообщение
Суть вопроса - возможно ли именно в рамках сессии
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
set xact_abort on;
 
begin tran;
 
ALTER TABLE [dbo].[fact_UOP] DROP CONSTRAINT [FK_Doc]
 
ALTER TABLE [dbo].[fact_UOP] WITH NOCHECK ADD CONSTRAINT [FK_Doc] FOREIGN KEY([ParentID])
REFERENCES [dbo].[doc] ([ID])
ON UPDATE CASCADE
 
....
 
 
ALTER TABLE [dbo].[fact_UOP] DROP CONSTRAINT [FK_Doc]
 
ALTER TABLE [dbo].[fact_UOP] WITH CHECK ADD CONSTRAINT [FK_Doc] FOREIGN KEY([ParentID])
REFERENCES [dbo].[doc] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
 
commit;
Цитата Сообщение от Aspromist Посмотреть сообщение
чтобы на остальных пользователей не влиять
Нельзя не влиять на остальных, если модифицируете общий ресурс. Остальные, ссылающиеся на этот FK, будут ждать завершения транзакции.
0
19.03.2018, 18:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2018, 18:33
Помогаю со студенческими работами здесь

Долгое обновление
Cайт долго обновляется, например в материале добавил ссылку, а на сайте ссылка появляется через 5 -...

Долгое включение ПК
Всем привет, есть такой вопрос.В последнее время ПК начал долго включаться автозапуск программ...

Долгое подключение к БД
При запуске программы первый раз долго прогружаются данные в компоненты(3-5 секунды) можно ли...

Долгое включение
Добрый день! С момента нажатия кнопки включения ноутбука, до загрузки лого проходит 19 секунд....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru