我有大約10個包含數據的表。我需要更改數據類型爲bigint至numeric(18,0)的字段。在sql server中將列類型從bigint更改爲數字(18,0)
我們已經驗證了我們數據庫中的數據,不會有任何數據丟失。在我們的更低的環境中,我們所做的是:
- 接過備份現有的表,其更名爲暫時
- 與數字數據類型
- 填充從備份表數據
- 如果一切創建新表好吧,然後刪除備份表
以上是我們在下的環境中所遵循的過程。
但是,當涉及到產品時,我們無法遵循上述過程。我們想要改變使用ALTER語句。由於它是PROD環境,我們必須小心變化。正如我剛纔所說,不會有任何數據丟失。
但仍然想知道 - 當我們執行ALTER
聲明時內部發生了什麼?
它是否會刪除表並使用新定義重新創建並重新填充數據?如果是這樣,是否有與此相關的風險?
有關如何在PROD中妥善處理這些問題的任何想法,將不勝感激。
但爲什麼要從bigint到數字(18,0)?我會做相反的... – jarlh
我正在將此與MS Access鏈接表進行映射。 Bigint將轉換爲Access中的文本而不是數字,其中SQL服務器中的數字將被正確映射爲數字 –
謝謝您解釋! – jarlh