Maison base de données tutoriel mysql oracle 在一个存储过程中调用另一个返回游标的存储过程

oracle 在一个存储过程中调用另一个返回游标的存储过程

Jun 07, 2016 pm 06:06 PM
存储过程 调用

实际项目当中经常需要在一个存储过程中调用另一个存储过程返回的游标,本文列举了两种情况讲述具体的操作方法。

第一种情况是返回的游标是某个具体的表或视图的数据,如:
SQL-Code:
代码如下:
CREATE OR REPLACE PROCEDURE P_TESTA (
PRESULT OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN PRESULT FOR SELECT * FROM USERS;
END P_TESTA;

其中USERS就是数据库中一个表。在调用的时候只要声明一个该表的ROWTYPE类型就可以了:
SQL-Code:
代码如下:
CREATE OR REPLACE PROCEDURE P_TESTB
AS
VARCURSOR SYS_REFCURSOR;
R USERS%ROWTYPE;
BEGIN
P_TESTA(VARCURSOR);
LOOP
FETCH VARCURSOR INTO R;
EXIT WHEN VARCURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(R.NAME);
END LOOP;
END P_TESTB;

第二种情况,我们返回的不是表的所有的列,或许只是其中一列或两列,如:
SQL-Code:
代码如下:
CREATE OR REPLACE PROCEDURE P_TESTA (
PRESULT OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN PRESULT FOR SELECT ID,NAME FROM USERS;
END P_TESTA;

这里我们只返回了USERS表的ID,NAME这两个列,那么调用的时候也必须做相应的修改:
SQL-Code:
代码如下:
CREATE OR REPLACE PROCEDURE P_TESTB
AS
VARCURSOR SYS_REFCURSOR;
CURSOR TMPCURSOR IS SELECT ID,NAME FROM USERS WHERE ROWNUM=1;
R TMPCURSOR%ROWTYPE;
BEGIN
P_TESTA(VARCURSOR);
LOOP
FETCH VARCURSOR INTO R;
EXIT WHEN VARCURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(R.ID);
END LOOP;
END P_TESTB;

与之前不同的是我们声明了一个游标类型的变量TMPCURSOR ,注意TMPCURSOR 的结构必须与存储过程P_TESTA 返回的游标结构一致,否则就会出现错误。同理只要保持两个游标类型结构一致,就可以实现自由调用。
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Python pour appeler l'API Baidu Map afin d'implémenter la fonction de requête de localisation géographique ? Comment utiliser Python pour appeler l'API Baidu Map afin d'implémenter la fonction de requête de localisation géographique ? Jul 31, 2023 pm 03:01 PM

Comment utiliser Python pour appeler l'API Baidu Map afin d'implémenter la fonction de requête de localisation géographique ? Avec le développement d’Internet, l’acquisition et l’utilisation d’informations de localisation géographique deviennent de plus en plus importantes. Baidu Maps est une application cartographique très courante et pratique qui fournit une multitude de services de requête de localisation géographique. Cet article expliquera comment utiliser Python pour appeler l'API Baidu Map afin d'implémenter la fonction de requête de localisation géographique et joindra un exemple de code. Demander un compte de développeur et une application Baidu Map Tout d'abord, vous devez disposer d'un compte de développeur Baidu Map et créer une application. Se connecter

Étapes et précautions pour la mise en œuvre des mises à jour par lots à l'aide de procédures stockées Oracle Étapes et précautions pour la mise en œuvre des mises à jour par lots à l'aide de procédures stockées Oracle Mar 08, 2024 pm 04:12 PM

Titre : Étapes et précautions d'implémentation des mises à jour par lots par les procédures stockées Oracle Dans la base de données Oracle, les procédures stockées sont un ensemble d'instructions SQL conçues pour améliorer les performances de la base de données, réutiliser le code et renforcer la sécurité. Les procédures stockées peuvent être utilisées pour mettre à jour les données par lots. Cet article explique comment utiliser les procédures stockées Oracle pour implémenter des mises à jour par lots et fournit des exemples de code spécifiques. Étape 1 : Créer une procédure stockée Tout d’abord, nous devons créer une procédure stockée pour implémenter les opérations de mise à jour par lots. Voici comment créer une procédure stockée

Exploration du code source : Comment les objets sont-ils appelés en Python ? Exploration du code source : Comment les objets sont-ils appelés en Python ? May 11, 2023 am 11:46 AM

Wedge Nous savons que les objets sont créés de deux manières principales, l'une via Python/CAPI et l'autre en appelant un objet de type. Pour les objets d'instance de types intégrés, les deux méthodes sont prises en charge. Par exemple, les listes peuvent être créées via [] ou list(). La première est Python/CAPI et la seconde est un objet de type appelant. Mais par exemple les objets de classes personnalisées, nous ne pouvons les créer qu'en appelant des objets de type. Si un objet peut être appelé, alors l'objet est appelable, sinon il ne l'est pas. Déterminer si un objet est appelable dépend du fait qu'une méthode est définie dans son objet de type correspondant. comme

Procédure stockée Oracle : méthode d'implémentation pour déterminer si une table existe Procédure stockée Oracle : méthode d'implémentation pour déterminer si une table existe Mar 08, 2024 pm 09:18 PM

Les procédures stockées dans la base de données Oracle sont un type spécifique de procédures stockées utilisées pour exécuter une série d'instructions SQL et d'opérations sur les données dans la base de données. Dans le travail réel de développement de bases de données, nous devons parfois déterminer si une certaine table existe dans la base de données, afin de pouvoir effectuer un jugement et un traitement logique dans le processus stocké. Ci-dessous, nous présenterons comment implémenter la méthode permettant de déterminer si une table existe dans la base de données Oracle et fournirons des exemples de code spécifiques. Tout d'abord, nous pouvons utiliser la table système user_tables ou all_t

Comment supprimer une procédure stockée dans MySQL Comment supprimer une procédure stockée dans MySQL Sep 05, 2023 am 10:25 AM

Les méthodes MySQL pour supprimer des procédures stockées incluent l'utilisation de l'instruction DROP PROCEDURE, l'utilisation de MySQL Workbench et l'utilisation d'outils de ligne de commande. Introduction détaillée : 1. Utilisez l'instruction DROP PROCEDURE Les étapes consistent d'abord à ouvrir le client MySQL ou à utiliser n'importe quel outil prenant en charge MySQL, puis à vous connecter à votre base de données MySQL et enfin à exécuter l'instruction SQL suivante pour supprimer la procédure stockée 2. Utilisez MySQL Workbench pour supprimer les procédures stockées, etc.

Compétences en appel de caméra PHP : Comment implémenter la commutation multi-caméras Compétences en appel de caméra PHP : Comment implémenter la commutation multi-caméras Aug 04, 2023 pm 07:07 PM

Compétences en matière d'appel de caméra PHP : comment basculer entre plusieurs caméras. Les applications de caméra sont devenues une partie importante de nombreuses applications Web, telles que la vidéoconférence, la surveillance en temps réel, etc. En PHP, nous pouvons utiliser diverses technologies pour appeler et faire fonctionner la caméra. Cet article se concentrera sur la façon de mettre en œuvre la commutation multi-caméras et fournira des exemples de code pour aider les lecteurs à mieux comprendre. Bases de l'appel de caméra En PHP, nous pouvons appeler la caméra en appelant l'API JavaScript. Plus précisément, nous

Principes de mise en œuvre et applications des procédures stockées Golang Principes de mise en œuvre et applications des procédures stockées Golang Feb 22, 2024 pm 04:57 PM

Principes de mise en œuvre et applications des procédures stockées Golang Une procédure stockée est un programme précompilé qui est stocké dans une base de données relationnelle et peut être appelé par une application. Elle peut réduire efficacement le coût de la transmission réseau des données et améliorer l'efficacité d'exécution de la base de données. Bien que Golang ne prenne pas directement en charge les procédures stockées, vous pouvez simuler les fonctions des procédures stockées à l'aide d'instructions SQL. Cet article présentera les principes et les applications de la mise en œuvre de procédures stockées dans Golang et fournira des exemples de code spécifiques. 1. Le principe de mise en œuvre de la procédure stockée Golang est en Gol

Comment résoudre l'accès aux ressources externes et les appels dans le développement PHP Comment résoudre l'accès aux ressources externes et les appels dans le développement PHP Oct 08, 2023 am 11:01 AM

Comment résoudre le problème de l'accès et de l'appel à des ressources externes dans le développement PHP nécessite des exemples de code spécifiques. Dans le développement PHP, nous rencontrons souvent des situations dans lesquelles nous devons accéder et appeler des ressources externes, telles que des interfaces API, des bibliothèques tierces ou d'autres ressources de serveur. . Lorsque nous traitons avec ces ressources externes, nous devons réfléchir à la manière d'accéder et d'appeler en toute sécurité tout en garantissant performances et fiabilité. Cet article décrit plusieurs solutions courantes et fournit des exemples de code correspondants. 1. Utilisez la bibliothèque curl pour appeler des ressources externes. Curl est une bibliothèque open source très puissante.

See all articles