给定一个数据库表,如何使用宏和循环来更改SELECT的多个“where”值
Somnath_Das
成员职位:31Maven
在帮助
给定一个数据库表,我如何使用宏来改变使用rapidminer选择查询的多个“在哪里”值?我已经创建了一个示例过程,但那里的WHERE子句有一个条件。我要检查多个条件。
例如,如果我想检查像ACCOUNT_NO和CUSTOMER_ID我如何使用宏和循环,以便子进程将运行以下语句?
Select * from Table where account_no=suppliedValue_1 and customer_id=suppliedValue_2
< ?xml version="1.0" encoding="UTF-8"?> <过程version = " 9.9.000”>
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<过程扩展= " true " >
< /操作符>
<过程扩展= " true " >
“参数”<枚举关键= >
< /枚举>
< /操作符>
> < /过程
< /操作符>
< /操作符>
> < /过程
< /操作符>
> < /过程
0
最佳答案
-
kayman 成员职位:662独角兽相同的逻辑,但使用'generate macro'而不是set macro。然后,您的逻辑定义分配给宏的值。0
答案
然后在数据库查询中使用宏语法,如%{accountnumber}
就是这样。您可以根据需要创建任意多的宏,因此选择语句如下所示
Select * from Table where account_no=%{accountnumber} and customer_id=%{custid}
使用准备好的查询,输入参数及其类型(在您的示例中,是这种语法中的%{macros}),并使用?(问号)以适当的顺序。
这将在许多数据库系统中获得更好的性能,并避免SQL注入。
问候,
Balazs