相关疑难解决方法(0)

在 SQLCMD 模式下设置变量

使用 SQL Server 2008 R2 企业版

考虑以下语句:

:setvar source_server_name "SERVERNAME\INSTANCENAME"
Run Code Online (Sandbox Code Playgroud)

是否可以在 SQLCMD 模式下使用 TSQL 获取该值

就像是: :setvar source_server_name = SELECT @@servername

谢谢

2013 年 7 月 15 日更新

下面提供的两个答案并没有给出理想的结果,所以我添加了一个更相关的例子。

:setvar source_server_name [myserver]
Run Code Online (Sandbox Code Playgroud)

变量 source_server_name 设置为文本字符串 [myserver_1]

我希望能够做到这一点:

create table #tmp(
id int identity(1,1),
server sysname
)

insert into #tmp values('myserver_1'),('myserver_2');

:setvar source_server_name = SELECT server FROM #tmp WHERE id = 1

select '$(source_server_name)' 

(No column name)
myserver_1
Run Code Online (Sandbox Code Playgroud)

变量 source_server_name 将设置为 ID 1 的服务器中的值。

sql-server sql-server-2008-r2 sqlcmd

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql-server ×1

sql-server-2008-r2 ×1

sqlcmd ×1