TSQL(SSMS)有条件地仅有条件地显示查询结果
TSQL (SSMS) conditionally display result of query only conditionally
是否可以在 TSQL (SSMS) window 中有条件地显示在查询的 results-window 中?
例如,显示 column-header 和结果:
SELECT COUNT(1) AS ourCount FROM [ourDatabase].[dbo].[ourTable]
仅 如果它 > 0
注意:我们使用 SQL Server 2008,r-2
这是在具有许多结果的更大查询系统的上下文中。如果此特定查询具有 zero-value,我不想弄乱结果。当然,这个概念可以推广到其他情况。
所以我正在监视查询输出,可以将结果视为对我自己的 'alert'(非正式)。
这会将结果压入一个变量,然后只在它大于零时显示它,你也可以使用 PRINT 等。
DECLARE @Count INT;
SELECT @Count = COUNT(1) AS ourCount FROM [ourDatabase].[dbo].[ourTable];
IF @Count > 0
BEGIN
SELECT @Count;
END;
如果答案 <= 0 那么您将在 SSMS 的消息部分中看到除了行数之外的任何内容。您甚至可以通过添加以下内容来停止此操作:
SET NOCOUNT ON;
...在脚本的顶部,但记得添加:
SET NOCOUNT OFF;
是否可以在 TSQL (SSMS) window 中有条件地显示在查询的 results-window 中?
例如,显示 column-header 和结果:
SELECT COUNT(1) AS ourCount FROM [ourDatabase].[dbo].[ourTable]
仅 如果它 > 0
注意:我们使用 SQL Server 2008,r-2
这是在具有许多结果的更大查询系统的上下文中。如果此特定查询具有 zero-value,我不想弄乱结果。当然,这个概念可以推广到其他情况。
所以我正在监视查询输出,可以将结果视为对我自己的 'alert'(非正式)。
这会将结果压入一个变量,然后只在它大于零时显示它,你也可以使用 PRINT 等。
DECLARE @Count INT;
SELECT @Count = COUNT(1) AS ourCount FROM [ourDatabase].[dbo].[ourTable];
IF @Count > 0
BEGIN
SELECT @Count;
END;
如果答案 <= 0 那么您将在 SSMS 的消息部分中看到除了行数之外的任何内容。您甚至可以通过添加以下内容来停止此操作:
SET NOCOUNT ON;
...在脚本的顶部,但记得添加:
SET NOCOUNT OFF;