2017-12-02 229 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; 
相关问题