Sql 在查询中访问会话状态

Sql 在查询中访问会话状态,sql,plsql,oracle-apex,Sql,Plsql,Oracle Apex,我有以下网址 .../ords/f?p=1575:31:12296330498768::NO::CONTRACTID:2 如您所见,我已将compractid的会话状态设置为2 我想在下面的SQL中访问compractid的值: SELECT CON_CONTRACT.CONTRACTDATUM AS CONTRACTDATUM, CON_CONTRACT.BEGINDATUM AS BEGINDATUM, CON_CONTRACT.EINDDATUM AS EIND

我有以下网址

.../ords/f?p=1575:31:12296330498768::NO::CONTRACTID:2
如您所见,我已将
compractid
的会话状态设置为
2

我想在下面的
SQL
中访问
compractid
的值:

SELECT
  CON_CONTRACT.CONTRACTDATUM AS CONTRACTDATUM,
  CON_CONTRACT.BEGINDATUM    AS BEGINDATUM,
  CON_CONTRACT.EINDDATUM     AS EINDDATUM,
  CON_KLANT.NAAM             AS KLANT,
  CON_VERKOPER.NAAM          AS VERKOPER
FROM CON_CONTRACT, CON_VERKOPER, CON_KLANT
WHERE
  CON_VERKOPER.VERKOPERID = CON_CONTRACT.VERKOPERID AND
  CON_KLANT.KLANTID = CON_CONTRACT.KLANTID AND
  CON_CONTRACT.CONTRACTID = :CONTRACTID
我根据

使用上述
SQL
访问报告时,我得到以下错误

ERR-1002在应用程序“1575”中找不到项目“construcd”的项目ID。
意外错误,无法在应用程序或页面级别找到项目名称。

以及以下
技术信息

is_internal_error: true
apex_error_code: WWV_FLOW.FIND_ITEM_ID_ERR
error_backtrace:
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x148b83330       556  package body APEX_040200.WWV_FLOW_ERROR
0x148b83330       607  package body APEX_040200.WWV_FLOW_ERROR
0x148b83330       911  package body APEX_040200.WWV_FLOW_ERROR
0x14b2992c0      2607  package body APEX_040200.WWV_FLOW_META_DATA
0x14c01ff10      3334  package body APEX_040200.WWV_FLOW
0x14c01ff10      4860  package body APEX_040200.WWV_FLOW
0x14c0d60c8       249  procedure APEX_040200.F
0xa04c0228         2  anonymous block

我试着用
V('construcd')
NV('construcd')
替换
:construcd
,但这没有任何作用,因为它必须是应用程序项或页面项。您不能只在URL中传递任何字符串作为标识符,然后在查询中使用它。要创建页面项,请执行以下操作:

  • 打开所需页面(示例中带有查询的页面)
  • 单击
    项目
    部分中的+符号(如果您在
    组件视图
    模式下工作)
  • 为您的项目命名
  • 如果不需要在页面上显示项目,可以将其隐藏(
    在项目属性中显示为
    -
    隐藏
要创建应用程序项,请转到
共享组件
->
应用程序逻辑
->
应用程序项
,并在其中创建项。
创建页面项或应用程序项后,可以在URL和报表查询中使用它们的名称。应用程序项和页面项之间的主要区别是,应用程序项在整个应用程序中都是可访问的,而页面项仅在它们的页面上