是否有任何类型的环境变量(或其他东西)会告诉我脚本是否在SSMS中运行?例如,在我的SSMS查询的顶部,我有这个:
declare @StartDate datetime, @EndDate datetime, @ThisYear datetime, @IncludeZeroBalance int;
set @StartDate = '20080101';
set @EndDate = '20170201';
set @ThisYear = year(GetDate());
set @IncludeZeroBalance = 0;
我希望能够将其保留在查询中,但是"包装"因为它只能在SSMS中看到/运行。某种编译指示,如 #IF SSMS 或类似。
我认为那里不是这样的(搜索已经证明没有结果),但我希望有人知道做这种事情的伎俩...
答案 0 :(得分:0)
您可以使用APP_NAME()
函数获取调用应用程序在其connectionstring
中指定的应用程序的名称。例如:
declare @MyAppname nvarchar(50);
select @MyAppname = app_name();
if (@MyAppname = 'Microsoft SQL Server Management Studio - Query')
begin
print 'Do SSMS stuff here'
end
else
begin
print 'Do non-SSMS stuff here'
end;