2010-07-07 26 views
2

有點生疏外鍵約束,因爲我已經有一段時間沒有無法看到SQL Server上的SQL側2008

我已經用圖增加了一個外鍵約束,並明確指出有一個FK關係感動。

但是,當腳本化表或在SQL Server資源管理器中查看鍵時,我看不到灰色鍵。

我錯過了什麼嗎?不知道我做的是否正確。

如何在2個表格之間以編程方式創建一個?它應該出現在資源管理器的按鍵下嗎?

非常感謝任何輸入

回答

2

要創建FK關係,使用此語法:

ALTER TABLE dbo.ChildTable 
    ADD CONSTRAINT FK_ChildTable_ParentTable 
    FOREIGN KEY (FK column in child table) 
    REFERENCES dbo.ParentTable(column in parent table) 

,並可能定義上更新會發生什麼或父表的主鍵刪除:

ON DELETE ...... (CASCADE, NO ACTION, SET NULL) 
    ON UPDATE ...... (CASCADE, NO ACTION, SET NULL) 

你應該能夠查詢數據字典視圖,以檢查是否是FK約束是真的在那裏:

SELECT 
    fk.NAME, 
    OBJECT_NAME(parent_object_id) 'Child table', 
    OBJECT_NAME(referenced_object_id) 'Parent table', 
    fk.* 
FROM sys.foreign_keys fk 

這將列出當前數據庫中的所有現有外鍵。

+0

嗨, 剛剛看到您的帖子。感謝您的時間了很多。查詢他們在那裏的關係,但仍然沒有在資源管理器中顯示 mmmm缺少的東西? – user9969 2010-07-07 09:00:16

+0

@ devnet247:不確定 - 你有任何過濾機會嗎?你確定你正在查看相同的服務器/數據庫?或者你在本地機器上查詢,但資源管理器顯示你的開發服務器? (發生在我以前.....) – 2010-07-07 09:24:21

+0

他們現在都讀了,不知道why.thanks很多 – user9969 2010-07-07 14:41:51

4

設計人員的外鍵在內存中保存。查找尚未保存的開放式設計選項卡。保存並刷新數據庫。外鍵應該顯示出來。

0

請記住保存更改內容並刷新對象瀏覽器。對於我的情況,我可以在Columns和Keys文件夾中看到我的外鍵的灰色圖標。但是,我看不到它是我的約束文件夾。顯然,這被認爲是正常的?

相關問題