1

我正在实施一个对 SQL 代码应用一些转换的程序。在解析上述代码时,我想到了两种方法。

  1. 使用普通函数实现“标准”解析器
  2. 实现在读取时执行此类解释的Reader 宏。

我想知道实现读取器宏是否适用于这种情况,或者我最好用常用功能编写它并避免用火箭筒杀死昆虫。

4

1 回答 1

2

如果需要,您可以使用阅读器宏作为内联 SQL 代码的一种方式,例如

#[SQL code here]

调用类似 的函数(sql "SQL code here"),但您将无法做像编写带有阅读器宏的完整 SQL 解释器那样复杂的事情。此外,如果您在读取时完成所有这些操作,您如何在运行时(当您可能需要它时)访问数据库?

另一种方法是创建一个 lispy SQL DSL,您可以在其中使用常规函数和宏。

于 2019-04-20T02:11:31.807 回答