小编Way*_*ung的帖子

使用Microsoft Visual Studio进行文本域特定语言(DSL)开发

我在视觉工作室开发了一些DSL.最初,我发现VS2010有一个可视化和建模SDK.它有一个名为DSL工具的工具.但它似乎只适用于图形DSL开发.

然后我看到一些帖子说"奥斯陆"是一个用于开发文本DSL的工具,它"是"微软产品 - 微软不再支持该工具.http://blogs.msdn.com/b/modelcitizen/archive/2010/09/22/update-on-sql-server-modeling-ctp-repository-modeling-services-quot-quadrant-quot-and-quot- M-quot.aspx

因此,我想知道我是否想开发一个文本DSL,哪种工具最好?如果我使用F#powerpack和FSLex和FSYacc实现DSL解析器,你怎么看?

dsl f# oslo dsl-tools visual-studio

9
推荐指数
2
解决办法
2975
查看次数

Oracle - 在聚合函数中使用分析函数

我有一个像这样的表 DATE_VALUE:

  Date        Value

  ----        -----

01/01/2012    1.5 

02/01/2012    1.7 

03/01/2012    1.3

04/01/2012    2.1

05/01/2012    3.4
Run Code Online (Sandbox Code Playgroud)

我想计算两个连续日期之间的价值差异之间的差异。但是这个简单的查询不起作用:

select variance(lead( value,1) OVER (order by date) - value)
 from DATE_VALUE
Run Code Online (Sandbox Code Playgroud)

我有一个错误:

ORA-30483:此处不允许使用窗口函数 30483。00000 - “此处不允许使用窗口函数” *原因:仅在查询的 SELECT 列表中允许使用窗口函数。并且,窗口函数不能作为另一个窗口或组函数的参数。

如果我将方差函数移出查询,则查询工作正常:

select variance(difvalue) from (
  select lead( value,1) OVER (order by rundate) - value  as difvalue
  from DATE_VALUE 
);
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以修改查询,以便不使用子查询?

sql oracle aggregate-functions analytic-functions

3
推荐指数
1
解决办法
4488
查看次数