我有一個MS SQL Server數據庫,其上有大約75個表,並且如果具有相同主鍵的記錄不存在,或者如果他們這樣做,則嘗試將記錄插入到表中。 我可以將每個表的主鍵硬編碼到我的vb.net代碼中,但我寧願不要在稍後的日期添加更多的表,並且我的代碼需要在不更改的情況下處理這些表。有沒有辦法使用查詢從表中拉出主鍵列名,以便我可以遍歷每個執行相同代碼的表?如何提取MS SQL Server表的主鍵列的名稱?
感謝, 湯姆
附:當談到SQL時,我有點新手,所以如果您有時間,請簡單明瞭地回答。
我有一個MS SQL Server數據庫,其上有大約75個表,並且如果具有相同主鍵的記錄不存在,或者如果他們這樣做,則嘗試將記錄插入到表中。 我可以將每個表的主鍵硬編碼到我的vb.net代碼中,但我寧願不要在稍後的日期添加更多的表,並且我的代碼需要在不更改的情況下處理這些表。有沒有辦法使用查詢從表中拉出主鍵列名,以便我可以遍歷每個執行相同代碼的表?如何提取MS SQL Server表的主鍵列的名稱?
感謝, 湯姆
附:當談到SQL時,我有點新手,所以如果您有時間,請簡單明瞭地回答。
看一看 Find Tables With Primary Key Constraint in Database
SELECT i.name AS IndexName,
OBJECT_NAME(ic.OBJECT_ID) AS TableName,
COL_NAME(ic.OBJECT_ID,ic.column_id) AS ColumnName
FROM sys.indexes AS i INNER JOIN
sys.index_columns AS ic ON i.OBJECT_ID = ic.OBJECT_ID
AND i.index_id = ic.index_id
WHERE i.is_primary_key = 1