簡體   English   中英

SQL Server部署前腳本可重新創建表新列並保留數據

[英]SQL Server pre-deploy script to recreate table new columns and preserve data

我在ASP.NET MVC中創建了一個項目,該項目帶有一個單獨的數據庫項目,每次更改表時都會運行該項目。 我唯一的問題是,例如,如果我添加一列,它將刪除整個數據庫並重新創建它,並刪除表中的所有數據。

是否有人知道部署前腳本或我可以用來添加/刪除/重命名表或列並同時保持數據完整性的方法? 即在修改數據庫時保留我的數據

您可以使用SQL Server函數重命名列,但是這樣做有可能破壞數據庫中其他函數或存儲過程使用的腳本。 我不贊成這種做法,因此在下面不作介紹。 添加或刪除列是公平的游戲。

您可以使用以下查詢將列添加到表中:

ALTER TABLE [YourTable]
ADD [ColumnName] [Datatype];

您可以使用以下查詢刪除列:

ALTER TABLE [YourTable]
DROP COLUMN [ColumnName];

這些SQL命令將保留表中的其他列。 如果要更改列名,建議您在SQL Server客戶端中設置一個視圖,並為該列命名。

可以使用以下方法完成此操作:

CREATE VIEW [ViewName]
AS
SELECT [ColumnName] AS [ColumnAlias]
FROM [TableName]
GO

除了可以查詢[ColumnAlias]而不是[ColumnName]之外,您將能夠以與查詢普通表上的SELECT相同的方式在視圖上執行SELECTS。 您不能在視圖上執行INSERT或DELETE查詢,但是

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM