Có các tùy chọn khác ngoài V ('APP_USER'). Kể từ Apex 5, APP_USER được lưu trữ trong sys_context và nó hoạt động hiệu quả hơn rất nhiều so với hàm V (). Nó có sẵn dưới dạng SYS_CONTEXT('APEX$SESSION','APP_USER')
.
Nó cũng hoạt động như một giá trị mặc định cho các bảng:
create table test_table
(col_1 VARCHAR2(100) DEFAULT SYS_CONTEXT('APEX$SESSION','APP_USER'));
Table TEST_TABLE created.
Điều đó đang được nói, thực tiễn tốt nhất cho các cột kiểm tra là trình kích hoạt điền 4 cột kiểm tra (như @Littlefoot đã đề xuất). Hãy xem quicksql (trong SQL Workshop> Utilities hoặc trên livesql.oracle.com). Bạn có thể để nó tạo các trình kích hoạt cho bạn nếu bạn đặt "bao gồm cột Kiểm tra" và "Đã bật Apex". Ví dụ về trình kích hoạt được tạo như vậy là:
create or replace trigger employees_biu
before insert or update
on employees
for each row
begin
if inserting then
:new.created := sysdate;
:new.created_by := nvl(sys_context('APEX$SESSION','APP_USER'),user);
end if;
:new.updated := sysdate;
:new.updated_by := nvl(sys_context('APEX$SESSION','APP_USER'),user);
end employees_biu;
/