将PBSELECT查询转换为标准SQL查询

时间:2017-01-14 11:52:19

标签: powerbuilder powerbuilder-conversion

我想将Powebuilder生成的查询转换为标准Sql,我尝试了但是我做了但我对此几点有疑问。

POWER BUILDER QUERY:

 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)"

STANDARD SQL CONVERTED QUERY:

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

我转换了这个查询,但我无法理解变量: EXP1,EXP2 p_part_no&amp; OP。 如果我查看POWER BUILDER查询,那么只有一个参数,但是 EXP1 EXP2 p_part_no OP < / strong>来自其价值观的地方。

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

1 个答案:

答案 0 :(得分:2)

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

Op =要使用的运算符

Exp1 =左侧

Exp2 =右侧

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

选择...其中p_part_no =:p_part_no

根据您给定的pbselect语句构建

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

在转换后的SQL中,您会显示&#34;或&#34;作为运营商...... 这不在pbselect中,所以我希望你可以混合不同的测试用例吗?

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