有點生疏外鍵約束,因爲我已經有一段時間沒有無法看到SQL Server上的SQL側2008
我已經用圖增加了一個外鍵約束,並明確指出有一個FK關係感動。
但是,當腳本化表或在SQL Server資源管理器中查看鍵時,我看不到灰色鍵。
我錯過了什麼嗎?不知道我做的是否正確。
如何在2個表格之間以編程方式創建一個?它應該出現在資源管理器的按鍵下嗎?
非常感謝任何輸入
有點生疏外鍵約束,因爲我已經有一段時間沒有無法看到SQL Server上的SQL側2008
我已經用圖增加了一個外鍵約束,並明確指出有一個FK關係感動。
但是,當腳本化表或在SQL Server資源管理器中查看鍵時,我看不到灰色鍵。
我錯過了什麼嗎?不知道我做的是否正確。
如何在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
這將列出當前數據庫中的所有現有外鍵。
設計人員的外鍵在內存中保存。查找尚未保存的開放式設計選項卡。保存並刷新數據庫。外鍵應該顯示出來。
請記住保存更改內容並刷新對象瀏覽器。對於我的情況,我可以在Columns和Keys文件夾中看到我的外鍵的灰色圖標。但是,我看不到它是我的約束文件夾。顯然,這被認爲是正常的?
嗨, 剛剛看到您的帖子。感謝您的時間了很多。查詢他們在那裏的關係,但仍然沒有在資源管理器中顯示 mmmm缺少的東西? – user9969 2010-07-07 09:00:16
@ devnet247:不確定 - 你有任何過濾機會嗎?你確定你正在查看相同的服務器/數據庫?或者你在本地機器上查詢,但資源管理器顯示你的開發服務器? (發生在我以前.....) – 2010-07-07 09:24:21
他們現在都讀了,不知道why.thanks很多 – user9969 2010-07-07 14:41:51