Это будет звучать как сумасшедшая просьба. Базы данных, из которых я отправляю отчеты, не имеют внешних ключей, и каждый первичный ключ - это identity_column. Это затрудняет использование таких инструментов, как TOAD, потому что Intellisense работает, считывая отношения PK и FK.
У кого-нибудь есть сценарий для удаления первичных ключей из каждой таблицы в базе данных, чтобы я мог заменить их на «правильный» PK и добавить FK для помощи в составлении отчетов?
Чтобы избежать лавины "Не делай этого !!!" ответы, позвольте мне прояснить, что я не собираюсь делать это с моей производственной базой данных, но скопировать ее на другой сервер.
Любой совет будет оценен.
------- РЕДАКТИРОВАТЬ Это обновлено с правильной информацией. ----------------
Спасибо, ребята, но я понял, что допустил ошибку. Почти у каждой таблицы есть «identity_column» со свойством identity. Эта идентичность является кластерным индексом. Однако он не обозначен как первичный ключ.
Во-первых, в чем разница между первичным ключом и кластерным индексом?
Во-вторых, как я могу написать все кластерные индексы?
Будет ли это работать?
SELECT
'ALTER TABLE ' + OBJECT_NAME(OBJECT_ID) + ' DROP CONSTRAINT ' + name
FROM sys.indexes WHERE type_desc = 'CLUSTERED'
Спасибо за ваше терпение