Это мое требование, я пытаюсь уточнить, что с точки зрения базы данных приключений.Удалить/усечь записи в таблице с внешними ключами
Я должен удалить все записи Production.Product таблицы, которая имеет ограничение и внешние ключи отношения и заполнить данные из другой таблицы (в настоящее время я использую это заявление, чтобы скопировать данные в таблице)
SELECT * INTO Product_temp
FROM [AdventureWorks].[Production].[Product]
Поэтому мне нужно удалить все записи из таблицы Product, а затем вставить из product_temp.
Я нашел этот ответ, но я не могу найти эту опцию в SQL SERVER 2005
SQL Server 2005 Cascading Delete
Ну, вы не можете просто удалить материал прочь, если он на которую ссылается внешний ключ - это весь смысл иметь FK отношения! Итак, что вам нужно сделать: отбросьте все ограничения FK, ссылающиеся на таблицу «Product», затем удалите все строки и вставьте новые. Но что вы собираетесь делать с данными, которые могут быть исправлены для продукта, который больше не существует после того, как вы вставили новые данные ??? –
@marc_s В моем проекте мы приносим свежие данные из SAP для таблицы продуктов, и мой клиент хочет удалить все записи всех 4 (в моем проекте 4 таблицы мастер-таблицы) мастер-таблицы и снова вставить свежие данные. Пожалуйста, дайте мне знать ваше мнение по этому вопросу, может ли это быть лучше? Я предлагаю то же самое моему клиенту. – Zerotoinfinity
Вы полностью заменяете все строки? Или у вас есть много строк, которые останутся неизменными или просто изменятся в одной или двух столбцах?В этом случае было бы разумнее просто «обновить» таблицу «Продукты» - обновить то, что нужно обновить, вставить новые строки, удалить несколько строк, которые нужно удалить, вместо того, чтобы использовать метод «удалить все». ... –