我在我的「項目」表中有一列「StoreNumber」,我想將其更改爲「NOT NULL」。我最近清理了所有的舊數據,因此沒有空條目。然而,當我執行以下語句失敗因多依賴的各種視圖,索引和統計在更改列時快速刪除和重新創建多個索引,視圖和統計信息
ALTER TABLE [Project]
ALTER COLUMN StoreNumber VARCHAR(9) NOT NULL
GO
什麼是放棄所有這些視圖/索引/統計然後運行ALTER語句的最快方法,然後重新創建所有視圖/索引/統計信息?我知道我可以複製掉所有的drop並逐個創建語句,但我更願意在單個查詢中生成腳本。
在附註上,爲什麼SQL Server會在意讓我的列更具限制性?數據不包含空值,並且不會更改數據類型或列的大小。這種類型的變化如何破壞相關的視圖,索引或統計信息?我確信有沒有看到但我想要一個例子的合理推理。