Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL查询通知和GetDate()_Sql Server_Notificationservices - Fatal编程技术网

Sql server SQL查询通知和GetDate()

Sql server SQL查询通知和GetDate(),sql-server,notificationservices,Sql Server,Notificationservices,我目前正在处理一个为查询通知注册的查询。根据通知服务的规则,我只能在为订阅设置的查询中使用确定性函数。然而,GetDate()(以及我能想到的几乎任何其他方法)是不确定的。每当我提取数据时,我希望能够将结果集限制为仅相关记录,这是由当天确定的 是否有人知道我可以使用的变通方法,允许我使用当前日期筛选结果,但不会使查询通知无效 示例代码: SELECT fcDate as RecordDate, fcYear as FiscalYear, fcPeriod as FiscalPeriod, fcF

我目前正在处理一个为查询通知注册的查询。根据通知服务的规则,我只能在为订阅设置的查询中使用确定性函数。然而,GetDate()(以及我能想到的几乎任何其他方法)是不确定的。每当我提取数据时,我希望能够将结果集限制为仅相关记录,这是由当天确定的

是否有人知道我可以使用的变通方法,允许我使用当前日期筛选结果,但不会使查询通知无效

示例代码:

SELECT fcDate as RecordDate, fcYear as FiscalYear, fcPeriod as FiscalPeriod, fcFiscalWeek as FiscalWeek, fcIsPeriodEndDate as IsPeriodEnd, fcPeriodWeek as WeekOfPeriod
FROM dbo.bFiscalCalendar 
WHERE fcDate >= GetDate() -- This line invalidates the query for notification...
其他想法:

我们的数据库中有一个应用程序控制表,用于存储应用程序级设置。我曾想写一个小脚本,用当前smalldatetime记录最新信息。然而,我加入这个表的通知也失败了,我不知道为什么。我猜测它与我指定文本类型(列名)有关,这令人沮丧

示例代码2:

SELECT fcDate as RecordDate, fcYear as FiscalYear, fcPeriod as FiscalPeriod, fcFiscalWeek as FiscalWeek, fcIsPeriodEndDate as IsPeriodEnd, fcPeriodWeek as WeekOfPeriod
FROM dbo.bFiscalCalendar    
INNER JOIN dbo.xApplicationControls ON  fcDate >= acValue AND acName = N'Cache_CurrentDate' 
有人有什么建议吗


编辑:下面是一个为NotificationServices提供规则的方法,一个绕过此操作的好方法是创建一个只显示“按现在选择GetDate()”的视图,然后在查询中使用该视图


编辑:我看不到任何关于不使用用户定义函数的内容(这就是我在中使用的“今天查看”部分)。因此,您可以在指向视图的查询中使用自定义项吗?

绕过此操作的一个好方法是创建一个只显示“按现在选择GetDate()”的视图,然后在查询中使用该视图


编辑:我看不到任何关于不使用用户定义函数的内容(这就是我在中使用的“今天查看”部分)。那么,您可以在指向视图的查询中使用UDF吗?

结果是,我找到了解决方案。基本上,我是在使我的查询尝试无效,因为我将一个值转换为DateTime,它将其标记为非确定性。即使你没有特别召集演员,但要做一些类似于:

RecordDate = 'date_string_value'
你还是会有约会演员。希望这将有助于解决这个问题的其他人

这个链接对我帮助很大


事实证明,我找到了解决办法。基本上,我是在使我的查询尝试无效,因为我将一个值转换为DateTime,它将其标记为非确定性。即使你没有特别召集演员,但要做一些类似于:

RecordDate = 'date_string_value'
你还是会有约会演员。希望这将有助于解决这个问题的其他人

这个链接对我帮助很大


不幸的是,在notification services的查询中也不允许访问视图。UDF如何?我看不到任何不允许的引用UDF是允许的,但前提是它们也不包含非确定性函数(至少,我99%确信这是正确的)。不过我会再次检查这个选项。谢谢。事实证明,它们必须是确定性的UDF,SQL Server根据其中的查询进行调用。结果是同一个问题。想法不错。不幸的是,在NotificationServices的查询中也不允许访问视图。UDF呢?我看不到任何不允许的引用UDF是允许的,但前提是它们也不包含非确定性函数(至少,我99%确信这是正确的)。不过我会再次检查这个选项。谢谢。事实证明,它们必须是确定性的UDF,SQL Server根据其中的查询进行调用。结果是同一个问题。好主意。