Oracle Sql : Procédure qui permet de créer des tables temporaires à l'intérieur

Je suis nouveau sur Oracle Sql et confronté à un problème :

Je veux créer une table temporaire à l'intérieur de la procédure .

COMME:

CREATE PROCEDURE P
  AS
  BEGIN
    CREATE TEMPORARY TABLE A(ID int);
  END P;

MAIS CE QUI ME DONNE UNE ERREUR

Comment puis-je Créer une table temporaire à l'intérieur de la procédure.

J'ai vu d'autres réponses sur stackoverflow mais cela ne veut pas répondre à ma question correctement
Pouvez-vous svp m'aider ?

  • Double Possible de how-to-create-and-use-temporary-table-in-oracle-stored-procedure
  • Et pourquoi voulez-vous créer une table temporaire à l'intérieur d'une procédure?
  • Je pense que ce que vous voulez, c'est quelque chose comme le placement d'une CREATE GLOBAL TEMPORARY TABLE A(ID INT) ON COMMIT DELETE ROWS en dehors de la procédure à la place. Ça va être de la session spécifique, et effacé à chaque commit.
  • Voir, j'ai créer quelque chose dans la procédure parce que je vais appeler une procédure à partir d'un outil et de l'outil à son tour l'accès aux données.
  • Et cet outil ne jamais utiliser une session pour se connecter à la base de données? Il aura qu'à appeler la procédure une fois? Vous n'aurez jamais besoin de l'appui de deux utilisateurs?
  • Cave : Hey je vais interroger la base de données qu'une seule fois par jour à partir de tibco outil , donc je pense que cela devrait fonctionner.
  • Alors vous êtes tout simplement d'engager le coût de la création et de la suppression de la table tous les jours? Je ne vois pas pourquoi il ne serait pas juste de créer la table une fois, tout comme vous le feriez pour tout autre tableau dans votre système. Vous n'aurez pas de code PL/SQL qui fait référence à la table?
  • ce sont les tables temporaires mais la table principale, je vais faire comme table ordinaire .
  • Dans Oracle, la définition d'une table temporaire est destiné à être permanent. Seules les données de la table temporaire. Il n'est pas judicieux de créer et de supprimer la même table tous les jours si la table est temporaire ou permanent.
  • Voir, je sais de quoi parlez-vous, mais pour moi, je dois aller comme si de créer des sql pour la création de ces table, alors j'ai besoin de demander à part mon équipe de production et qui va prendre beaucoup de temps ya mais je vais prendre votre suggestion vais demander à mon chef à ce sujet , vous permet de voir ce qu'il dit .
  • Bien sûr, si votre procédure échoue la moitié du chemin, alors vous avez juste à gauche d'un tableau sur le système de toute façon, et la prochaine fois que l'exécution de la procédure qu'il va échouer parce que la table existe déjà. Vous feriez mieux aussi ajouter du code pour détecter si la table existe déjà, et de ne pas essayer de le créer à nouveau, s'il n'. De cette façon, si vous obtenez l'autorisation de créer la table de façon permanente, vous n'aurez pas à donner votre code à nouveau.

InformationsquelleAutor Adon Smith | 2013-09-19