【发布时间】:2011-01-14 09:29:29
【问题描述】:
有没有办法在表值 UDF 的参数上创建“断言”。
出于性能原因,我想使用表值 UDF,但是我知道某些参数组合(例如相隔一个多月的开始日期和结束日期)会导致所有用户在服务器上出现性能问题。
最终用户使用 UDF 通过 Excel 查询数据库。当数据对于 Excel 来说太大时,UDF(尤其是表值 UDF)很有用。用户编写简单的 SQL 查询,将数据分类成组以减少行数。例如,用户可能对每周汇总而不是每小时汇总感兴趣。用户通过 SELECT 语句编写 group 以将行数减少 24x7=168 倍。我知道我可以在多语句 UDF 中编写 RAISERROR 语句,但是表值 UDF 集成在查询优化器中,因此这些查询使用表值 UDF 更有效。
那么,我可以在传递给表值 UDF 的参数上定义断言吗?
【问题讨论】:
标签: sql-server tsql user-defined-functions