Database 创建新的Oracle Application Express(APEX)
让我解释一下我的情况。 现在我需要创建一个新的APEX应用程序。但是我没有使用APEX SQL Workshop(图1)作为数据库。正在通过包检索数据。 请参考图2中的层次结构设计。从层次结构中,数据存储在D1EDATA的表_A中。D1EDATA有一个名为package_a的包。D1APEX是应用程序。它调用包来选择、更新或删除存储在表A中的记录 图1:开发环境 图2:应用程序架构设计Database 创建新的Oracle Application Express(APEX),database,oracle,server,oracle-apex-5,Database,Oracle,Server,Oracle Apex 5,让我解释一下我的情况。 现在我需要创建一个新的APEX应用程序。但是我没有使用APEX SQL Workshop(图1)作为数据库。正在通过包检索数据。 请参考图2中的层次结构设计。从层次结构中,数据存储在D1EDATA的表_A中。D1EDATA有一个名为package_a的包。D1APEX是应用程序。它调用包来选择、更新或删除存储在表A中的记录 图1:开发环境 图2:应用程序架构设计 我的问题如下: 如何从APEX应用程序调用包中的函数/过程 如何获取登录的用户id。哪个表存储APEX用
我的问题如下:
- 在应用程序中创建页面(或使用以前创建的页面)
- 单击
标签附近的+按钮创建新区域李>区域
- 在创建区域向导中,选择过程上的
-表单
表单
- 在接下来的步骤中,选择您的程序/功能并填写其他必填字段李>
Run
(我不记得确切的名称)和Cancel
- 数据库帐户-使用数据库帐户登录到应用程序。在这种情况下,apex在系统oracle表中使用登录名和密码
- APEX帐户-使用开发者帐户登录APEX IDE,使用相同的帐户登录应用程序
- 自定义方案-您自己创建所有表、检查用户登录和密码的过程等
您可以使用
v
函数:v('APP\u user')
在PL/SQL代码中定义用户的名称(无论当前的身份验证方案如何)。但请记住,如果您不是从APEX应用程序调用此函数,它将返回NULL
。有一种通用的方法来调用它(在UPDATE
语句中):
嘿,谢谢你的回复。关于问题2,示例是:用户在APEX应用程序中更新记录。当用户单击submit按钮时,APEX将调用D1APEX界面中的过程a,过程a将调用D1EDATA中的过程B以更新特定记录。对于我的情况,我想用用户名更新UpdatedBy列Toad@Jonas您想知道,如何在PL/SQL中获取APEX用户的名称,对吗?类似这样的内容:
updatemt_table set username=v('APP_USER')
如果我想在Oracle APEX中获取用户名,我可以使用类似于update_模板的代码(p_last_update_by=>:USER)?否,APEX中用户名为的参数是APP\u user
,而不是user
。我已在SQL Workshop中从dual执行select v('user'),它也返回登录名
update mt_table set username = nvl(v('APP_USER'), user);