【发布时间】:2017-07-19 05:32:41
【问题描述】:
我有一个警报服务,它在 SQL 语句返回多行时触发。从视图中选择语句被添加到此警报服务中。
因为我是从视图中调用一个函数,所以它总是返回一行,即使它为空。有什么方法可以返回受影响的 0 行(当函数返回 null 时)?
Mappings
-------------------------
NULL
(1 row(s) affected)
我想要这个
Mappings
-------------------------
(0 row(s) affected)
【问题讨论】:
-
具有
NULL值的单个记录是否有其他含义阻止您使用它? -
C# 代码 repDS.Tables[0].Rows.Count 在这种情况下会返回 1 并触发警报;这是要避免的。
-
将
WHERE Mappings IS NOT NULL添加到您现有的查询中? -
达米安,成功了!万分感谢!选择 [dbo].GET_PRODUCT_MAPPINGS() 作为映射,其中 [dbo].GET_PRODUCT_MAPPINGS() 不为空
-
我避免调用该函数两次。将 cte 设为 ( select Mappings = GET_PRODUCT_MAPPINGS() ) 从 cte 中选择映射,其中 cte.Mappings IS NOT NULL
标签: sql sql-server function null