我今天在客户端的数据库中遇到了这个T-SQL代码:
CREATE TABLE dbo.Dates
(
MarketDate date,
PRIMARY KEY (MarketDate),
FOREIGN KEY (MarketDate) REFERENCES dbo.Dates (MarketDate)
)
我不清楚允许主键列将外键关系返回给自己可以达到什么目的。我自然删除了这段关系。
这个外键会不会有任何影响?有没有一个用例可以证明使用它?如果没有,那么为什么SQL Server会允许这种关系。
答案 0 :(得分:0)
我能想象的唯一原因是该表的创建者想要禁止对Dates表使用TRUNCATE TABLE语句。