0

我想将 Powebuilder 生成的查询转换为标准 Sql,我试过了,但我有几点怀疑。

电力建设者查询:

 PBSELECT( VERSION(400) TABLE(NAME=~"part~" ) 
       COLUMN(NAME=~"part.part_no~") 
       COLUMN(NAME=~"part.part_id~")
       WHERE(EXP1 =~"part.part_no~" OP =~"=~" EXP2 =~":p_part_no~" ) ) 
       ARG(NAME = ~"p_part_no~" TYPE = string)"

标准 SQL 转换查询:

SELECT 
    part.part_no ,
    part.part_id FROM part  
    WHERE :EXP1 = part.part_no  OR :EXP2 =  p_part_no

我转换了这个查询,但我无法理解变量:EXP1、EXP2 p_part_no 和 OP。如果我查看 POWER BUILDER 查询,那么只有一个参数,但是EXP1EXP2p_part_noOP是从哪里来的值。

任何建议和帮助将不胜感激。

4

1 回答 1

2

请检查您的标准 sql(已转换)

Op = 要使用的运算符

Exp1 = 左侧

Exp2 = 右侧

所以在你的情况下,我希望转换后的 pbselect 更像

选择 ...其中 p_part_no = :p_part_no

从您给定的 pbselect 语句构建

在这种情况下,您用来检索的参数是 p_part_no

在转换后的 SQL 中,您将“或”显示为运算符……这不在 pbselect 中,所以我希望您可以混合使用不同的测试用例?

我没有在 pb 中检查这个,但如果这不是正确的答案,可以这样做。

于 2017-01-15T10:16:54.823 回答