我正在尝试使用 SQL 语句切换当前数据库。
我已尝试以下操作,但所有尝试均失败:
-- 1
USE @DatabaseName
-- 2
EXEC sp_sqlexec @Sql -- where @Sql = 'USE [' + @DatabaseName + ']'
添加更多细节。
编辑:我想在两个单独的数据库上执行几件事,其中两个数据库都配置了变量。像这样的东西:
USE Database1
SELECT * FROM Table1
USE Database2
SELECT * FROM Table2
前者的问题是你正在做的是USE 'myDB'
而不是USE myDB
。
你正在传递一个字符串;但 USE 正在寻找明确的参考。
后一个例子对我有用。
DECLARE @sql varchar(20)
SELECT @sql = 'USE myDb'
EXEC sp_sqlexec @Sql
-- Also works
SELECT @sql = 'USE [myDb]'
EXEC sp_sqlexec @Sql
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)