Я хочу, чтобы создать таблицу с столбцам:Создание внешнего ключа к системным таблицам
IdRole
IdProcedure
идея заключается в том, что IdProcedure
является FK в sys.objects
.
Когда я создаю этот запрос:
SELECT *
FROM sys.objects
WHERE type='p'
он отлично работает, но это одно:
ALTER TABLE dbo.CORE_ProcedureXRole
ADD CONSTRAINT FK_SysProcedure
FOREIGN KEY (IdProcedure)
REFERENCES sys.objects(object_id)
говорит мне:
ссылки на внешние ключи 'FK_SysProcedure' недействителен таблицы 'sys.objects'.
'sys.objects' - это не таблица. В любом случае вы не можете создавать FK для системных объектов. –
ОК спасибо .. Я не был уверен, смогу ли я это сделать. – davibq
Зачем вам это нужно? Во-первых, это предотвратило бы падение/воссоздание, так как новый object_id присваивается случайным образом. Возможно, вы могли бы рассказать нам, какую проблему вы пытаетесь решить, вместо того, чтобы сообщать нам, что вы хотите решить ее с помощью внешнего ключа для sys.objects. –