Wm goto workspace

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script/commande SQL*Plus (Oracle Workspace Manager)
Voir aussi Wm workspace · Wm create workspace · Wm get workspace

Wm goto workspace bascule la session courante vers un workspace donné, via DBMS_WM.GotoWorkspace. Une fois positionné dans un workspace, les modifications de données faites par la session s'appliquent à ce workspace et n'affectent pas les autres workspaces tant qu'un merge n'a pas été effectué.

Le script liste d'abord tous les workspaces disponibles (avec le workspace courant marqué), demande le nom du workspace cible, puis effectue le changement.

Script

-- Bascule la session courante vers un workspace donné
SET LINESIZE 180
SET PAGESIZE 50000
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'

-- Tous les workspaces disponibles
SELECT
    CASE WHEN dbms_wm.getworkspace = workspace THEN '    *' END AS current_workspace
  , owner
  , workspace
  , TO_CHAR(createtime, 'DD-MON-YYYY HH24:MI:SS') createtime
FROM
    dba_workspaces
ORDER BY
    owner, workspace;

ACCEPT wm_goto_workspace_name CHAR PROMPT 'Enter name of workspace to go to: '

BEGIN
    dbms_wm.gotoworkspace('&wm_goto_workspace_name');
END;
/

-- Vérification : le workspace cible est désormais marqué comme courant
SELECT
    CASE WHEN dbms_wm.getworkspace = workspace THEN '    *' END AS current_workspace
  , owner
  , workspace
  , TO_CHAR(createtime, 'DD-MON-YYYY HH24:MI:SS') createtime
FROM
    dba_workspaces
ORDER BY
    owner, workspace;

Voir aussi