


Appel de procédures stockées depuis d'autres dans Oracle
Dans Oracle, on peut rencontrer un scénario dans lequel il est nécessaire d'invoquer une procédure stockée depuis dans un autre. Ceci peut être réalisé en utilisant diverses méthodes, que nous explorerons dans cet article.
Cas de test
Considérez le code de test suivant :
SET SERVEROUTPUT ON; DROP PROCEDURE test_sp_1; DROP PROCEDURE test_sp; CREATE PROCEDURE test_sp AS BEGIN DBMS_OUTPUT.PUT_LINE('Test works'); END; / CREATE PROCEDURE test_sp_1 AS BEGIN DBMS_OUTPUT.PUT_LINE('Testing'); test_sp; END; / CALL test_sp_1;
Problème et solution
Le problème avec le code donné réside dans la dernière ligne, qui tente de directement invoquer les procédures stockées. Ce problème peut être résolu en utilisant l'une des trois méthodes suivantes :
1. Syntaxe d'appel
La référence SQL d'Oracle définit la syntaxe d'appel des procédures stockées comme suit :
CALL <procedure_name>(<argument_list>);</argument_list></procedure_name>
Placez le nom de la procédure entre parenthèses, même lorsqu'aucun argument n'est transmis.
CALL test_sp_1();
2. Bloc PL/SQL anonyme
Dans un bloc PL/SQL anonyme, on peut appeler des procédures stockées sans les nommer explicitement.
BEGIN test_sp_1; END; /
3. Commande Exec (SQL*Plus)
SQL*Plus fournit la commande exec comme raccourci pour les blocs anonymes. Il exécute la procédure stockée spécifiée comme si elle faisait partie d'un bloc anonyme.
EXEC test_sp_1;
Exemple
Voici un exemple entièrement fonctionnel :
SET SERVEROUTPUT ON; CREATE OR REPLACE PROCEDURE test_sp AS BEGIN DBMS_OUTPUT.PUT_LINE('Test works'); END; / CREATE OR REPLACE PROCEDURE test_sp_1 AS BEGIN DBMS_OUTPUT.PUT_LINE('Testing'); test_sp; END; / CALL test_sp_1(); -- Direct call exec test_sp_1; -- SQL*Plus shortcut BEGIN test_sp_1; END; -- Anonymous PL/SQL block
Sortie :
Testing Test works Testing Test works Testing Test works
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!

MySQL'sblobissuitable ForstoringBinaryDatawithInarelationDatabase, WhileLenosqloloptionsLikEmongoDB, redis et Cassandraofferflexible, ScalablesButions forununstructureddata.blobissimplerbutcanslowdownporduit

ToaddauserRinmysql, utilisation: CreateUser'Username '@' host'identifiedBy'password '; ici'showtodoitsecurely: 1) ChoosetheHostCarelyToCon trolaccess.2) setResourcelimits withoptionslikemax_queries_per_hour.3) usestrong, uniquepasswords.4) Enforcessl / tlsconnectionwith

ToavoidcomMonmistakeswithstringDatatyPesInmysql, compréhension de compréhension, chooseTherightType, andManageEncodingAndCollationSettingSeffectively.1) usECHARFORFIXED-LEGLINGSTRING

MySQLoffersEchar, Varchar, Text, andDenumForstringData.USECHARFORFIXED-LEGLINGSTRINGS, VARCHARERFORVARVARIABLE, TEXT FORLARGER Text, andEnUmForForCingDataEgrityWithaetofValues.

L'optimisation des demandes MySqlBlob peut être effectuée via les stratégies suivantes: 1. Réduire la fréquence de la requête BLOB, utiliser les demandes indépendantes ou retarder le chargement; 2. Sélectionnez le type BLOB approprié (tel que TinyBlob); 3. Séparez les données BLOB en tables séparées; 4. Compressez les données BLOB à la couche d'application; 5. Indexez les métadonnées blob. Ces méthodes peuvent efficacement améliorer les performances en combinant la surveillance, la mise en cache et la rupture de données dans les applications réelles.

La maîtrise de la méthode d'ajout d'utilisateurs de MySQL est cruciale pour les administrateurs et les développeurs de la base de données car il garantit le contrôle de sécurité et d'accès de la base de données. 1) Créez un nouvel utilisateur à l'aide de la commande CreateUser, 2) Attribuer des autorisations via la commande Grant, 3) Utilisez FlushPrivileges pour vous assurer que les autorisations prennent effet, 4) Audit régulièrement et nettoyez les comptes d'utilisateurs pour maintenir les performances et la sécurité.

ChooseCharForfixed-LengthData, Varcharforvariable-LengthData, andTextForLargetExtFields.1) ChariseFicientForConsistent-LengthDatalikEcodes.2)

Les meilleures pratiques pour gérer les types de données de chaîne et les index dans MySQL incluent: 1) la sélection du type de chaîne approprié, tel que le char pour la longueur fixe, le varchar pour la longueur variable et le texte pour un grand texte; 2) Soyez prudent dans l'indexation, évitez de sur-indexer et créez des index pour les requêtes communes; 3) Utilisez des index de préfixe et des index de texte complet pour optimiser les recherches de chaînes longues; 4) Surveiller et optimiser régulièrement les index pour maintenir les index petits et efficaces. Grâce à ces méthodes, nous pouvons équilibrer les performances de lecture et d'écriture et d'améliorer l'efficacité de la base de données.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.
