la suppression d'une table temporaire globale

2 questions Distinctes.

  1. J'utilise ce script pour supprimer une table [RÉSOLU]
    BEGIN
        EXECUTE IMMEDIATE 'DROP TABLE_NAME';
        DBMS_OUTPUT.PUT_LINE ('Global table TABLE_NAME Dropped');
        EXCEPTION
            WHEN OTHERS THEN
                DBMS_OUTPUT.PUT_LINE ('Global table TABLE_NAME Doesn''t exist.');
    END;
    /

Est-il de toute façon je peux différencier si la table "n'existe pas" ou qu'il est utilisé dans certains autres sessions (dans ce cas, il serait verrouillé et ne pouvait pas être supprimé). Je ne suis pas sûr si je peux voir que la table existe dans user_tables. Je ne suis pas pleinement conscients des autorisations.

J'ai ajouté ce code maintenant

WHEN OTHERS THEN
        i_code  :=  SQLCODE;
        v_errm  :=  SUBSTR(SQLERRM, 1, 64);
  if i_code = -942 THEN
    DBMS_OUTPUT.PUT_LINE ('TABLE_NAME doesn''t exist. Script will continue to create it');
  ELSE
    DBMS_OUTPUT.PUT_LINE ('Error dropping temporary table. The error code is ' || i_code || '- ' || v_errm);
  END IF ;

2. Je vois . à la fin de chaque procédure, comme cela

END PROCEDURE_NAME;
.
/
sho err;

Je ne comprends juste pas pourquoi . est ici. Est-il de la syntaxe ou quoi?

Est la table vraiment une table temporaire globale? (create global temporary table ....) Si oui, pourquoi êtes-vous de le laisser tomber? Est-ce une partie d'un script d'installation? Si non, peut-être une table temporaire globale serait de répondre à vos besoins, sans avoir besoin de le faire tomber.
eh bien, nous avons couru dans "existe déjà" question et d'une certaine façon, sa ne soit pas confirmée à partir de productino environnement quel est l'état de la table. Ce tableau ne fait pas partie du script d'installation de la partie de procédure distincte.
Je ne comprends pas, pourquoi courez-vous dans un pays déjà exister problème avec une table temporaire globale. La table existe déjà, et le code des usages (insert, delete, update, etc).

OriginalL'auteur x.509 | 2011-10-28