Maison > base de données > Oracle > Existe-t-il des instructions dynamiques dans Oracle ?

Existe-t-il des instructions dynamiques dans Oracle ?

WBOY
Libérer: 2022-06-10 11:28:19
original
1807 Les gens l'ont consulté

Il existe des instructions dynamiques dans Oracle ; les instructions dynamiques font référence à des instructions SQL qui sont incertaines au moment de la compilation. Le compilateur ne traite pas la partie de l'instruction dynamique, mais crée uniquement des instructions dynamiques lorsque le programme est en cours d'exécution, effectue une analyse syntaxique sur les instructions et les exécute, la syntaxe est "EXECUTE IMMEDIATE chaîne d'instruction SQL dynamique clause INTO clause USING".

Existe-t-il des instructions dynamiques dans Oracle ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, Oracle version 12c, ordinateur Dell G3.

Existe-t-il des instructions dynamiques dans Oracle ?

Existe-t-il des instructions dynamiques dans Oracle ?

Le SQL dit dynamique signifie que l'instruction SQL est incertaine lorsque le bloc PL/SQL est compilé, par exemple, différentes opérations sont effectué en fonction de différents paramètres d’entrée de l’utilisateur. Le compilateur ne traite pas la partie de l'instruction dynamique, mais crée uniquement l'instruction de manière dynamique lorsque le programme est en cours d'exécution, effectue une analyse syntaxique sur l'instruction et exécute l'instruction. Dynamic SQL dans ORACLE peut être exécuté via des commandes SQL dynamiques locales ou via le package DBMS_SQL.

Habituellement en développement, un simple SQL dynamique local peut résoudre le problème. J'utiliserai d'autres méthodes pour y parvenir ci-dessous. La syntaxe d'exécution du SQL dynamique local est donnée :

 EXECUTE IMMEDIATE dynamic_sql_string [INTO define_variable_list] [USING bind_argument_list];
Copier après la connexion

où : dynamic_sql_string est la chaîne de l'instruction SQL dynamique. La clause INTO est utilisée pour accepter la valeur d'enregistrement sélectionnée par l'instruction SELECT. La clause USING est utilisée pour accepter les variables de paramètres d'entrée liées.

Les instructions dynamiques SQL sont des instructions SQL générées par des programmes ou des procédures stockées. La caractéristique de ces instructions est qu'elles ne peuvent pas être simplement exécutées. Parce qu'il n'est pas standard et contient des composants changeants, ORACLE fournit un mode d'exécution d'instructions SQL dynamiques :

EXECUTE IMMEDIATE

La signification de cette phrase est d'exécuter immédiatement sans effectuer au préalable une vérification de syntaxe. Pendant le processus d'exécution, des erreurs logiques peuvent survenir. et sont gérés via des interruptions d’erreur.

L'exemple est le suivant :

Existe-t-il des instructions dynamiques dans Oracle ?

Ce code exécute d'abord un SQL dynamique créé, puis exécute l'instruction SELECT avec des paramètres. L'instruction EXECUTE IMMEDIATE ne peut être utilisée que pour traiter des instructions SQL qui renvoient une seule ligne ou ne renvoient rien. Pour traiter du SQL dynamique qui renvoie plusieurs lignes, l'instruction OPEN...FOR du curseur REF doit être utilisée.

Tutoriel recommandé : "Tutoriel vidéo Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal