2017-05-18 42 views
0

是否有任何一種環境變量(或某些東西)會告訴我腳本是否在SSMS內部運行?例如在我的查詢中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

可以使用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; 
+0

謝謝!這正是我期待的! –

相關問題