2017-12-02 186 views
0

我正在創建需要幾個sql腳本的數據庫。一個一個地運行它們是無效的,所以我想創建主要的sql查詢來加載所有文件。我試過這個:如何使用另一個sql文件執行sql文件MSQL

Declare 
@DBServerName Varchar(100), 
@DBName Varchar(100), 
@FilePathName Varchar(100), 
@strSql varchar(1000) 

Set @DBServerName='USER-PC'-- Server Name 
Set @DBName='testo' -- DB Name 
Set @FilePathName='some path here' 

Set @strSql= 'sqlcmd -S ' + @DBServerName + ' -d ' + @DBName + ' -i ' +  @FilePathName 

EXEC xp_cmdshell @strSql 

執行此操作後,它顯示我的查詢已成功執行,但在我的數據庫中沒有任何內容出現。我見過很多網站,但沒有工作的答案。

+1

我們需要看一些代碼來知道什麼是正在執行和重現。另外,爲什麼不將所有TSQL語句合併到一個存儲過程中? – Parfait

+0

我不認爲你想在這裏xp_cmdshell。 – Taraz

回答

0

我不認爲你想在這裏xp_cmdshell。如果你想執行動態SQL,你應該使用下面的代碼:

sp_executesql @strsql; 
相關問題