2014-06-09 42 views
0

所有數據庫表的模式我有以下查詢這我是從前端經過了前: -地圖結構/從C#

CREATE TABLE [" + TableName + "]" 
          + "(" 
          + "[Fname] [varchar](100) NOT NULL," 
          + "[Lname] [varchar](300) NOT NULL," 
          + "[CODE] [varchar](6) NULL," 
          + "[TYPE] [varchar](4) NULL," 
          + "[AMT] [float] NULL" 
          + ") ON [PRIMARY]"; 

我想要做的是,如果表中不存在數據庫我想創建它。

但是,如果它存在,那麼我想比較表結構與查詢結構,如果有一些差異,我想更新數據庫表。但是不會丟失表格的數據。

我想爲特定數據庫的所有表執行此操作。

從哪裏開始的建議?如何完成這項任務?有任何想法嗎?

幫助我..

回答

0

你可以做這兩個手動或使用視覺工作室 -

手動:您可以開始使用系統表和INFORMATION_SCHEMA通過這裏看到這個帖子獲得的元信息 -

http://www.tech-recipes.com/rx/24343/sql-server-useful-metadata-queries/

然後,您可以收集你需要和比較的所有信息。

這也可能是很好的出發點 -

http://msdn.microsoft.com/en-us/library/ms186778.aspx

的Visual Studio我現在最好的是視覺工作室。在Visual Studio裏面首先創建一個SQL Server數據庫項目。

然後,右鍵單擊項目,然後單擊「架構比較」。您將被要求選擇2個數據庫1.源和目的地。源是新的數據庫,目標應該是舊的。選擇後,視覺工作室將比較它們並呈現一個屏幕來審查更改。

一旦你檢查了更改,檢查屏幕頂部的按鈕,你會發現必要的按鈕,比如'比較''更新'等。有很明顯的自我解釋,所以我認爲你會理解他們。

我想你可以從這裏找到你的方式。這是在這裏記錄。

http://msdn.microsoft.com/en-us/library/aa833435(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/dd193250(v=vs.100).aspx

編輯我沒有SQL服務器,現在,我有我的窗戶粉碎,所以不能告訴你正確的截圖,但是這可能幫助 -

enter image description here