2013-05-26 27 views
1

有沒有簡單的方法來調用另一個sql文件?從另一個調用一個sql文件

我們有2個sql文件--a.sql和b.sql用於我們的產品。在本地我們創建數據庫的A和B,然後運行a.sql和b.sql。

現在,還有一個團隊維護一個sql文件MasterFile.sql,該文件應該創建該項目所需的所有dbs並對其進行配置。我們現在需要確保我們的sql文件(a.sql和b.sql)的內容也是從這個masterFile.sql中調用的。

a.sql和b.sql都會在不久的將來發生變化,因此我們不想手動將內容添加到MAsterFile.sql中。

這樣做的最好方法是什麼?我試過做sqlcmd以及源代碼和:r a.sql,但都沒有工作。

回答

1

如何使用批處理文件有3條線路

sqlcmd /S servername /d databaseName /E /i "master.sql" 
sqlcmd /S servername /d databaseName /E /i "a.sql" 
sqlcmd /S servername /d databaseName /E /i "b.sql" 
0

您可以使用xp_cmdshellsqlcmd,在這個問題解釋說:

Is it possible to execute a text file from SQL query?

+0

我想這一點,但仍獲得了錯誤..「無效的文件名」。 – techieChamp

+0

OK ..良好的消息,並沒有那麼好的消息..好消息:它的工作原理..不那麼好消息:我必須提供一個絕對路徑的SQL文件..就像C:\ myDB.sql ... if我只提供文件名或一些相對路徑,它不起作用。 – techieChamp

+0

@techieChamp這是因爲腳本正在SQL服務器的工作目錄(我的機器上的C:\ WINDOWS \ system32)中執行。如果你建立一個相對路徑,它必須是相對的。 – Optimax