Oracle Apex中如何根据用户ID记录数据
How to record the data based on user ID in Oracle Apex
大家好我是 Oracle Apex 的新手,我想在 Oracle Apex 中根据用户 ID 记录数据。该应用程序有两个角色,即员工和经理。我想让员工登录到他们的帐户后,他们只能查看和更新自己的记录。除此之外,经理可以看到所有员工记录。记录数据已经在工作,但不是基于用户 ID。任何人都知道该怎么做?谢谢
记录数据的table结构
CREATE TABLE "TIMESHEET"
( "ID" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE NOT NULL ENABLE,
"NO" VARCHAR2(50) NOT NULL ENABLE,
"CUSTOMER" VARCHAR2(50) NOT NULL ENABLE,
"DATE_" VARCHAR2(50) NOT NULL ENABLE,
"TIME" VARCHAR2(50) NOT NULL ENABLE,
"WORKING_HOUR" VARCHAR2(50) NOT NULL ENABLE,
"PIC" VARCHAR2(50) NOT NULL ENABLE,
"TOPIC" VARCHAR2(50) NOT NULL ENABLE,
"REMARK" VARCHAR2(50),
"APP_USER" VARCHAR2(255),
PRIMARY KEY ("ID")
USING INDEX ENABLE
)
/
Data record (not based userid)
Data record (APP_User still empty)
记录创建记录的用户的最佳方式是在 table TIMESHEET
上使用触发器。这将使用在插入时进行更新的用户的值填充您在@Jeffrey Kemp 的评论后添加的列 APP_USER。
create or replace trigger timesheet_biu
before insert
on timesheet
for each row
begin
:new.app_user := coalesce(sys_context('APEX$SESSION','APP_USER'),user);
end timesheet_biu;
/
大家好我是 Oracle Apex 的新手,我想在 Oracle Apex 中根据用户 ID 记录数据。该应用程序有两个角色,即员工和经理。我想让员工登录到他们的帐户后,他们只能查看和更新自己的记录。除此之外,经理可以看到所有员工记录。记录数据已经在工作,但不是基于用户 ID。任何人都知道该怎么做?谢谢
记录数据的table结构
CREATE TABLE "TIMESHEET"
( "ID" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE NOT NULL ENABLE,
"NO" VARCHAR2(50) NOT NULL ENABLE,
"CUSTOMER" VARCHAR2(50) NOT NULL ENABLE,
"DATE_" VARCHAR2(50) NOT NULL ENABLE,
"TIME" VARCHAR2(50) NOT NULL ENABLE,
"WORKING_HOUR" VARCHAR2(50) NOT NULL ENABLE,
"PIC" VARCHAR2(50) NOT NULL ENABLE,
"TOPIC" VARCHAR2(50) NOT NULL ENABLE,
"REMARK" VARCHAR2(50),
"APP_USER" VARCHAR2(255),
PRIMARY KEY ("ID")
USING INDEX ENABLE
)
/
Data record (not based userid)
Data record (APP_User still empty)
记录创建记录的用户的最佳方式是在 table TIMESHEET
上使用触发器。这将使用在插入时进行更新的用户的值填充您在@Jeffrey Kemp 的评论后添加的列 APP_USER。
create or replace trigger timesheet_biu
before insert
on timesheet
for each row
begin
:new.app_user := coalesce(sys_context('APEX$SESSION','APP_USER'),user);
end timesheet_biu;
/