在 MySQL 中,您可以发出如下命令:
drop database foo;
create database foo;
use foo;
source c:\src\bar.sql
该source
语句加载一个外部脚本并运行它。
SQL Server 中的等价物是什么?
在 MySQL 中,您可以发出如下命令:
drop database foo;
create database foo;
use foo;
source c:\src\bar.sql
该source
语句加载一个外部脚本并运行它。
SQL Server 中的等价物是什么?
可能是这样的:
EXEC master..xp_cmdshell 'sqlcmd -S . -E -d "database name" -i "c:\src\bar.sql"';
如果您想要一个特定的 SQL 身份验证帐户,您可以说:
EXEC master..xp_cmdshell 'sqlcmd -S . -U user -P pass -d db -i "c:\src\bar.sql"';
如果您希望它是可移植的并且不对实例名称进行硬编码(以上假定为默认实例),则:
DECLARE @sql NVARCHAR(MAX) = N'sqlcmd -S "' + @@SERVERNAME + '" -E'
+ ' -d db -i "c:\src\bar.sql"';
EXEC master..xp_cmdshell @sql;