创建系统表的外键

时间:2012-05-11 22:03:47

标签: sql-server foreign-keys sysobjects

我想用列创建表:

IdRole
IdProcedure

这个想法是IdProceduresys.objects的FK。

创建此查询时:

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中'。

1 个答案:

答案 0 :(得分:2)

sys.objects不是一张桌子。它是以专有SQL Server格式存储的数据支持的系统视图。如果要确保存储的名称正确,请添加TRIGGER以进行更新,并插入以处理检查。