J'ai une requête de table Créer une table, une requête de mise à jour, puis déposer la requête de table. J'ai besoin de courir ces trois requêtes dans un coup. Quelle est la meilleure façon de faire cela? Au lieu d'exécuter ces trois requêtes une par une, je veux les exécuter sur Aller soit par PLSQL ou par une autre manière. S'il vous plaît aider. P> p>
3 Réponses :
Mettez simplement trois questions l'une après l'autre dans un fichier .sql, avec des demi-colons après chaque instruction, puis l'exécute sous forme de script (soit sur une invite SQL * Plus à l'aide de @ script.sql code > ou dans le développeur de crapaud / SQL [ou équivalent] à l'aide de sa fonction d'exécution de script). p>
Pourquoi ne pas créer une procédure EG P> code>?
SET serveroutput ON;
exec foo;
N'oubliez pas d'exécuter immédiatement les déclarations DDL ici
Merci d'avoir fait remarquer cela. J'ai appris quelque chose de nouveau aujourd'hui! :)
Placez les 3 requêtes qui se suivent séparées par un semi-points: Vous pouvez concaténer ces requêtes dans une chaîne et exécuter cette chaîne. P> Autre moyen est-ce solution . p> p>
Écrivez les requêtes dans un fichier (script), puis exécutez le script: TechonThenet.com/oracle /Questions/script.php
Je l'ai fait dans l'IDE Toad. Nous pouvons exécuter plusieurs requêtes à la fois en appuyant sur F5, je pense (fait longtemps en arrière)
Voir également ceci: télécharger.oracle.com/docs/ CD / B10501_01 / SERVER.920 / A90842 / CH6. HTM
Parfois, vous n'avez pas besoin de la table de stadification (temporaire) du tout par ex. peut utiliser un CTE à la place. Mais le résultat net n'est-il pas de l'exécution des trois (créez A, mettre à jour a, déposer une) exactement rien?
Créer et déposer des tables dans une seule unité de travail est une odeur de code. Cela pourrait être nécessaire dans certaines autres bases de données, mais elle n'est pas nécessaire à Oracle: Il y a toujours de meilleures façons, en fonction de la précision de ce que vous devez faire.