【发布时间】:2016-05-03 00:22:30
【问题描述】:
根据有关 UNION 查询与 IN/OR 方法的一些信息,我一直在修改一项大型工作。通过将 IN 语句移动到 UNION 查询中,我已经能够很好地减少我的 RSUBMIT 查询,因为通过一个查询的前一个 IN 语句需要 35 分钟,而 8 个联合查询需要 9 分钟。
由于其中一些 IN 语句涉及越来越多的值,我尝试使用宏工具来缩短代码,但我遇到了一个问题。
下图是宏的sn-p(单独查询),马上就看到我的问题了。
*宏是在 RSUBMIT 中编译的,所以我们“应该很好”...但是明显的红色文本告诉我这是基于 UNION 语句的某种类型的非法语法。
我运行代码部分只是为了查看,实际上它确实运行...但仅适用于由宏的第一个参数表示的第一个查询(在本例中为“IDRPR”字符串) ,则无法执行后续参数/查询的所有后续宏调用。
我确实尝试将每个“UNION”语句包装在一对括号中,以促进合法的语法。乍一看,它似乎可以正常运行,因为我在增强编辑器中没有看到红色文本 -
但会出现与上述相同的问题...第一个宏调用只执行一次。我在这里缺少什么,或者如何以更好、更有效的方式执行?
【问题讨论】: