奇怪的情況:我試圖從我的代碼中刪除一些硬編碼。有一種情況,我有一個字段,讓我們說「CityID」,並使用這些信息,我想知道哪個表包含名爲CityID的主鍵。動態確定在SQL服務器中給定字段名稱的表名
從邏輯上講,你可能會說它可能是一張名爲「城市」的表格,但它不是......該表格被稱爲「城市」。數據庫命名中還有一些不一致的地方,因此如果刪除字符串「ID」並找出複數就足夠了,我永遠無法確定。
注意:一旦我發現CityID引用了一個名爲Cities的表格,我將執行一個連接以將CityID替換爲城市名稱。如果有人能告訴我如何找到名字中的第一個varchar字段,我將不勝感激。
我可以弄清楚該列是PK還是FK?目前它返回多個表格,因爲〜30個表格將該字段作爲FK,但只有一個將該字段作爲PK。 – 2010-05-07 15:38:37
@Salman A:爲此我想你想看看'TABLE_CONSTRAINTS'和'CONSTRAINT_COLUMN_USAGE'(或者'KEY_COLUMN_USAGE')。這些觀點在制定出什麼地方的方面往往是相當可讀的;看看我鏈接的文檔。 – AakashM 2010-05-07 16:35:58