2016-07-04 77 views
2

我正在創建一個SQL腳本,用於檢查天氣中是否存在對象,然後基於此創建或更改該對象。生成SQL腳本以創建或更改表/存儲過程

if not exists (select * from sysobjects where name='MyTableName' and xtype='U') 
    create table MyTableName(
     Id int not null, 
     Name varchar(150) not null 
    ) 
Else 
    --Alter 

現在不得不爲一個擁有超過150個表的更大的數據庫做這件事。

有什麼辦法可以自動生成表和存儲過程?

+1

我不明白。你會每次創建同一張表嗎?或者每次將相同的字段添加到已經存在的表中? – Shaharyar

+0

@Shaharyar:基本上它只會第一次創建,或者運行在不同的服務器上。否則改變。主要是針對存儲過程的腳本,因爲它們經常發生變化 – mrTester

+0

@mrTester,我想說,如果您希望爲alter-tables獲得簡單的解決方案,那麼您遇到了麻煩。對於SP,實際上並沒有什麼有趣的。 –

回答

0

據我可以判斷:你的問題已經包括了anser - 沒有它不能做!事情是這樣的:你可以假脫機表格的元數據等。如果對象存在於一個環境中......正如你剛纔提到的,情況並非如此 - 那麼函數/腳本/過程應該如何知道哪些列等等必須爲哪個表創建?或者如果表格已經存在,必須改變什麼?