la suppression d'une table temporaire globale
2 questions Distinctes.
- 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? (
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).
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
Vous devez vous connecter pour publier un commentaire.
L'étape 1. Comprendre les erreurs qui vous voulez à retenir:
Si la table n'existe pas:
Si la table est en cours d'utilisation:
L'utilisation de la table dans une autre session. (Avis n ° commit ou quoi que ce soit après l'insertion.)
De retour dans la première session, tentative de drop:
De sorte que les deux erreurs à retenir:
créer, modifier ou supprimer un index sur la table temporaire déjà en cours d'utilisation
Voir si les erreurs sont prédéfinis. Ils ne sont pas. Ils doivent donc être définis comme suit:
Et les résultats, d'abord sans
t
:Et maintenant, avec
t
en cours d'utilisation:Dans une autre session:
Puis lors de la première session:
OriginalL'auteur Shannon Severance
Cela a fonctionné dans mon cas, après la reconnexion (changement de la session).
OriginalL'auteur Nader
putty
cd $ADMIN_SCRIPTS_HOME
./adstpall.sh
drop table t;
Ce sera séance d'entraînement..
OriginalL'auteur Suresh Kalvoj
oui - le moteur de lancer de différentes exceptions pour les différentes conditions.
vous permettra de modifier la présente partie pour intercepter l'exception et faire quelque chose de différent
ici est une référence
http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm
OriginalL'auteur Randy
Le DÉCLARER TABLE TEMPORAIRE GLOBALE déclaration définit une table temporaire pour la connexion en cours.
Ces tableaux ne réside pas dans les catalogues système, et ne sont pas persistantes.
Tables temporaires existent que pendant la connexion qui a déclaré et qui ne peut être référencé à l'extérieur de cette connexion.
La fermeture de la connexion, les lignes de la table sont supprimées, et la en mémoire description de la table temporaire est supprimé.
Pour votre référence http://docs.oracle.com/javadb/10.6.2.1/ref/rrefdeclaretemptable.html
OriginalL'auteur PL SHARMA