2017-10-19 99 views
0

我有一個擁有1億行的生產表,並且爲了報告目的,我們需要添加一個額外的列,它將是一個數字(18,0)。顯然,SQL獲勝不要讓我在添加該列時刪除表格。除此之外,我可以通過其他方式影響數據嗎?無法在sql服務器中添加刪除表的列

+0

它應該是好的,如果你通過這樣做是爲了增加它'改變table'。如果您使用的是設計師,並且*特別是如果您想將它定位在最後一列以外的任何位置,那麼設計師可以選擇放置/創建。 –

回答

0

您可以添加一列而不刪除表格。

ALTER TABLE YourTable 
ADD SomeColumnName NUMERIC(18,0) 

UPDATE

如果你想列NOT NULL那麼你就必須讓它先接受NULL,然後通過更新設置的值,最後改變列NOT NULL

或設置默認值,比如

ALTER TABLE YourTable 
ADD SomeColumnName DECIMAL(18,0) NOT NULL DEFAULT 1 
+0

就是這樣?如果這不會放棄我的表,只增加新的專欄,我會很高興。請給它一個機會!謝謝 – SQLHunter

+0

我試過了,但結果是一樣的....當我運行這樣的表述時ALTER TABLE YourTable ADD SomeColumnName NUMERIC(18,0)它拋出一個錯誤消息4901,級別16,狀態1,行1 ALTER TABLE只允許添加可以包含空值的列,或者指定DEFAULT定義, 或者添加的列是標識或時間戳列,或者 或者如果前面的條件都不滿足,則表必須是空的才能允許添加此列.... – SQLHunter

+0

ALTER TABLE [dbo]。[obligation_monthend_snapshots] ADD [417_number]數字(18,0)NOT NULL – SQLHunter