在PL / SQL匿名块中使用替换字符串

时间:2013-10-16 06:46:39

标签: oracle plsql oracle11g oracle-apex substitution

有没有办法在PL / SQL匿名块中使用替换字符串?我试图在PL / SQL匿名块中使用我的替换字符串DATE_DIFF作为&DATE_DIFF.但是它给出了以下错误。

  

ORA-06550: line 13, column 18: PLS-00103: Encountered the symbol "&" when expecting one of the following: ( - + all case mod new null <an identifier> <a double-quoted delimited-identifier> <a bind variable> continue any avg count current max min prior some sql stddev sum variance execute forall merge time timestamp interval date <a string literal with character set specification> <a number> <a single-quoted SQL string> pipe <an alternatively-quoted string literal with character set s

我该如何解决这个问题?

已更新

在PL / SQL匿名块中使用替换字符串的示例代码。

DECLARE
 v_date_diff NUMBER;
BEGIN

 v_date_diff := &DATE_DIFF.; // this didn't work

END;

1 个答案:

答案 0 :(得分:1)

在APEX中,当您要将项目的会话状态检索到选项卡,列表等时,可以使用替换字符串语法(&DATE_DIFF.)。为了检索PL / SQL块中项目的会话状态,您可以使用冒号前缀项目名称,或使用V()函数:

  1. :DATE_DIFF
  2. v('DATE_DIF')