8
votes

Comment exécuter plusieurs requêtes SQL?

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? XXX

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.


5 commentaires

É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.


3 Réponses :


4
votes

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 ou dans le développeur de crapaud / SQL [ou équivalent] à l'aide de sa fonction d'exécution de script).


0 commentaires

4
votes

Pourquoi ne pas créer une procédure code>?

EG P>

SET serveroutput ON;
exec foo;


2 commentaires

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! :)



8
votes

Placez les 3 requêtes qui se suivent séparées par un semi-points: xxx

Vous pouvez concaténer ces requêtes dans une chaîne et exécuter cette chaîne.

Autre moyen est-ce solution .


0 commentaires