Published: 2/19/2026 Create a session in PL/SQL How to create a session in PL/SQL ExampleDECLARE in_user_id CONSTANT apex_workspace_apex_users.user_name%TYPE := 'YOUR_APEX_USERNAME'; in_app_id CONSTANT apex_applications.application_id%TYPE := YOUR_APPLICATION_ID; in_page_id CONSTANT apex_application_pages.page_id%TYPE := 0; -- Or a specific page ID v_workspace_id apex_applications.workspace%TYPE; BEGIN -- Find and setup workspace SELECT a.workspace INTO v_workspace_id FROM apex_applications a WHERE a.application_id = in_app_id; APEX_UTIL.SET_SECURITY_GROUP_ID(p_security_group_id => APEX_UTIL.FIND_SECURITY_GROUP_ID(p_workspace => v_workspace_id)); APEX_UTIL.SET_USERNAME(p_userid => APEX_UTIL.GET_USER_ID(in_user_id), p_username => in_user_id); -- Create APEX session APEX_SESSION.CREATE_SESSION( p_app_id => in_app_id, p_page_id => in_page_id, p_username => in_user_id ); -- Optional: Set session-level identifiers DBMS_SESSION.SET_IDENTIFIER(in_user_id); DBMS_APPLICATION_INFO.SET_CLIENT_INFO(in_user_id); -- Now you can interact with APEX session state, e.g., set item values -- APEX_UTIL.SET_SESSION_STATE ( p_name => 'P1_ITEM_NAME', p_value => 'Some Value' ); END; /