Créer une key étrangère pour les tables système

Je veux créer une table avec des colonnes:

IdRole IdProcedure 

l'idée est que IdProcedure est un FK à sys.objects .

Lorsque je crée cette requête:

 SELECT * FROM sys.objects WHERE type='p' 

ça marche bien, mais celui-ci:

 ALTER TABLE dbo.CORE_ProcedureXRole ADD CONSTRAINT FK_SysProcedure FOREIGN KEY (IdProcedure) REFERENCES sys.objects(object_id) 

dit moi:

La key étrangère 'FK_SysProcedure' reference une table non valide 'sys.objects'.

sys.objects n'est pas une table. C'est une vue système soutenue par des données stockées dans un format SQL Server propriétaire. Si vous voulez vous assurer que le nom stocké est correct, ajoutez un TRIGGER pour la mise à jour et insérez pour gérer la vérification.