SQL SERVER,我正在使用一個表使用guid而不是一個整數,但對於我正在進行的整合,我需要它是一個int。所以,我想寫一些將創建一個ID列,如果它不存在,並填充下一個最高的ID。我不確定如何做到這一點。有沒有人有這樣做的代碼?添加一個新的主鍵列
我已經嘗試過這一點,但更新不工作,因爲他們是空
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'c_Product'AND COLUMN_NAME = 'ProductId')
BEGIN
ALTER TABLE c_Product ADD ProductId INT
END
UPDATE c_Product SET ProductId = (SELECT Max(ProductId) + 1 END FROM c_Product)
所以,基本上你想把主鍵從'GUID'轉換成自動增加的('IDENTITY')。對? – 2011-05-27 12:37:38
沒錯,但我想在程序執行過程中執行 – user204588 2011-05-27 12:46:01
我們可以重申這一點:「如果INSERT沒有給出值,我想要一個int列自動填充」。還有第二個問題「我可以把它作爲主鍵」嗎?是否有任何要求保留現有的價值?任何暗示的排序?你可以讓新的列成爲IDENTITY嗎?如果你需要幫助,那麼我們需要知道你在問什麼。 – gbn 2011-05-27 12:55:39