2014-09-28 51 views
0

在Application Express中,有几种方法在会话状态中引用项目的值。在页面进程中工作时首选哪一个?引用Application Express项目的首选方法?

  1. 绑定变量语法,如:P1_MY_ITEM
  2. PL/SQL语法,如:V('P1_MY_ITEM')
  3. 替换语法,如:&P1_MY_ITEM.

#3是不恰当的,我明白了。 #2是从存储过程中引用会话状态时的唯一选项。但是,如果您正在从Apex内部进行PL/SQL页面处理或验证,是否有理由更喜欢#1或#2?

回答

1
select my_column 
from my_table 
where my_other_column = V('P1_MY_ITEM'); 

上面会调用函数V的每一行中MY_TABLE,而...

select my_column 
from my_table 
where my_other_column = :P1_MY_ITEM; 

...只是比较my_other_column到绑定变量的静态值。如果my_table中有很多行,那么每次调用V都可能会导致性能下降,所以如果有一个绑定变量可用(它总是在Apex内),那么使用它是有意义的。

相关问题