在SQL之上定义用户自定义语言



好的,我们的基本思想是在SQL之上构造一种语言。我们的主要目标是预处理包含不同内容的SQL字符串,解析我们"发明"的语言,在另一端生成SQL并最终执行该SQL字符串。

这将是类似的东西ASP/PHP做的HTML(我知道这是语义上不正确的,我只是在寻找语法部分)

我们已经有了一个像魅力一样工作的解析器,但是随着查询越来越长,我们不断向"语言"中添加新功能,如果我有notepad++来正确地突出显示我的语法,我会很高兴。

代码示例:

WHERE PARENT_ID = {GETVAR|PARENT_ID**'}

它所做的就是获取名为PARENT_ID的变量,并将其填充到被2 '包围的地方。它看起来像

WHERE PARENT_ID = 'a parent'

我一直在挣扎的是单引号,这是不匹配的,不应该被识别为SQL字符串,因为它在我们的小"函数"内。如何正确地告诉notepad++避免这样的单引号如果在{和}?

您可以通过从PL-SQL示例开始并添加扩展来创建用户定义的语言。它没有内部解析器那么强大,但它允许你:

  1. 添加'作为新关键字,例如
  2. *加入操作符,
  3. 并创建一个新的分隔符{},允许操作符和新关键字在其中。

这将排除'...'分隔符,并允许'关键字,这正是您想要的。

注意关键字需要分开,'只有在*是操作符时才会是关键字(因此用作分隔符)。此外,您可能需要编写'而不仅仅是'

相关内容

  • 没有找到相关文章

最新更新