In Application Express, there is no standard way of copying users in an existing workspace to a new workspace. Everytime you create a new workspace, all developers and users must be added manually.
Here’s a little script that does the work for you. Just replace the WORKSPACE with the name of your own workspace where you want to copy the users from, and execute in a SQL Command window in a new workspace. Might save you some time!
declare cursor c_usr is select t.user_name, t.first_name, t.last_name, t.email_address , t.default_schema , fd.developer_role from APEX_040100.WWV_FLOW_FND_USER t join apex_040100.wwv_flow_developers fd on fd.user_id = t.user_id where t.security_group_id = ( select cp.PROVISIONING_COMPANY_ID from apex_040100.wwv_flow_companies cp where cp.short_name = 'WORKSPACE') ; begin for r_usr in c_usr loop APEX_UTIL.CREATE_USER( p_user_name => r_usr.user_name , p_first_name => r_usr.first_name, p_last_name => r_usr.last_name, p_description => null, p_email_address => r_usr.email_address, p_web_password => 'Welcome01', p_developer_privs => r_usr.developer_role, p_default_schema => r_usr.default_schema, p_allow_access_to_schemas => null, p_change_password_on_first_use => 'Y' ); end loop; end;
I never understood why this is not a standard function in Application Express, but the above snippet is easily converted into a function for reuse.