-- +----------------------------------------------------------------------------+ -- | Jeffrey M. Hunter | -- | jhunter@idevelopment.info | -- | www.idevelopment.info | -- |----------------------------------------------------------------------------| -- | Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved. | -- |----------------------------------------------------------------------------| -- | DATABASE : Oracle | -- | FILE : wm_goto_workspace.sql | -- | CLASS : Workspace Manager | -- | PURPOSE : This script will list all workspaces and which workspace is the | -- | current workspace. You are then prompted for the name of a | -- | workspace to go to. This script then moves the current session | -- | to the specified workspace. After a user goes to a workspace, | -- | modifications to data can be made there. | -- | NOTE : As with any code, ensure to test this script in a development | -- | environment before attempting to run it in production. | -- +----------------------------------------------------------------------------+ SET TERMOUT OFF; COLUMN current_instance NEW_VALUE current_instance NOPRINT; SELECT rpad(sys_context('USERENV', 'INSTANCE_NAME'), 17) current_instance FROM dual; SET TERMOUT ON; PROMPT PROMPT +------------------------------------------------------------------------+ PROMPT | Report : Go To Workspace | PROMPT | Instance : ¤t_instance | PROMPT +------------------------------------------------------------------------+ SET ECHO OFF SET FEEDBACK 6 SET HEADING ON SET LINESIZE 180 SET PAGESIZE 50000 SET TERMOUT ON SET TIMING OFF SET TRIMOUT ON SET TRIMSPOOL ON SET VERIFY OFF COLUMN current_workspace FORMAT a10 HEADING "Current" COLUMN owner FORMAT a20 HEADING "Workspace Owner" COLUMN workspace FORMAT a30 HEADING "Workspace Name" COLUMN createtime FORMAT a20 HEADING "Create Time" PROMPT PROMPT +------------------------------------------------------------------------+ PROMPT | All Workspaces | PROMPT +------------------------------------------------------------------------+ SELECT CASE WHEN dbms_wm.getworkspace = workspace THEN ' *' ELSE null END AS current_workspace , owner , workspace , TO_CHAR(createtime, 'DD-MON-YYYY HH24:MI:SS') createtime FROM dba_workspaces ORDER BY owner , workspace; PROMPT ACCEPT wm_goto_workspace_name CHAR PROMPT 'Enter name of workspace to go to: ' PROMPT BEGIN dbms_wm.gotoworkspace('&wm_goto_workspace_name'); END; / SELECT CASE WHEN dbms_wm.getworkspace = workspace THEN ' *' ELSE null END AS current_workspace , owner , workspace , TO_CHAR(createtime, 'DD-MON-YYYY HH24:MI:SS') createtime FROM dba_workspaces ORDER BY owner , workspace;