Oracle
 sql >> Base de données >  >> RDS >> Oracle

Introduction aux curseurs de référence PL/SQL dans la base de données Oracle

Qu'est-ce que les curseurs de référence PL/SQL dans la base de données Oracle ?

En termes de performances, les curseurs de référence PL/SQL d'Oracle se sont toujours révélés supérieurs aux curseurs statiques. En raison de la capacité d'un seul curseur de référence à être associé à plusieurs instructions SELECT dans un seul bloc PL/SQL. De plus, cela réduit le besoin d'écrire des curseurs explicites séparés. De plus, cela en fait une fonctionnalité très efficace, flexible et robuste du langage PL/SQL. Explorons donc les curseurs de référence en PL/SQL et apprenons-en plus à ce sujet.

Que sont les curseurs de référence PL/SQL dans la base de données Oracle ?

Ref Cursor est l'acronyme de Reference to a Cursor. Il s'agit d'un type de données PL/SQL à l'aide duquel vous pouvez déclarer un type spécial de variable appelé Cursor Variable.

La variable de curseur et le curseur de référence sont-ils connectés ?

C'est une très bonne question. J'ai vu dans de nombreux livres que ces deux noms sont utilisés de manière interchangeable. Cependant, les deux sont deux sujets distincts mais interdépendants.

D'une part, la variable de curseur est comme un pointeur qui fait référence à une zone de contexte différente dans SGA. Alors que Ref Cursor est un type de données qui contient une valeur de curseur.

Alors, comment la variable de curseur et les curseurs de référence sont-ils interdépendants ?

Comme mentionné ci-dessus, les variables de curseur sont déclarées à l'aide de curseurs de référence. Par conséquent, nous pouvons dire que dans Oracle Database, les variables de curseur existent sous la forme de Ref Cursors.

Définition de la variable de curseur
En utilisant toutes les informations ci-dessus, nous pouvons définir la variable de curseur comme suit :Une variable de type de curseur de référence est appelée variable de curseur.

Quelle est la syntaxe pour déclarer le curseur de référence ?

Voici la syntaxe généralisée pour déclarer les curseurs Ref dans Oracle Database :

DECLARE
 TYPE [cursor_variable_name] IS REF CURSOR [RETURN (return_type)];

La syntaxe peut être modifiée et utilisée en fonction du type de curseurs de référence que vous souhaitez utiliser dans votre application. Cela dit, voyons les types de curseurs de référence disponibles dans Oracle Database.

Combien de types de curseurs de référence PL/SQL avons-nous ?

Il existe deux types de curseurs de référence en PL/SQL. Ce sont :

  1. Curseur de référence fort et
  2. Curseur de référence faible

Qu'est-ce que Strong Ref Cursor dans Oracle Database ?

Tout curseur de référence qui a un type de retour fixe est appelé un curseur de référence fort.

De plus, ces curseurs de référence ne peuvent être utilisés qu'avec certaines instructions SELECT. De plus, le résultat du type de données de l'instruction SELECT doit correspondre à celui qui a été corrigé lors de la déclaration du curseur fort.

Syntaxe des curseurs de référence forte en PL/SQL

Voici la syntaxe du curseur de référence fort.

DECLARE
	TYPE cursor_variable_name IS REF CURSOR 
RETURN (return type);

La clause de retour joue un rôle très important dans la déclaration d'un curseur de référence. Il restreint son champ d'application. Et limite votre curseur de référence aux seules instructions SELECT qui renvoient le résultat dont le type de données correspond à celui que vous avez spécifié dans la clause RETURN lors de sa déclaration.

De plus, le type de retour d'un curseur de référence doit toujours être de type de données d'enregistrement. Il peut s'agir soit de la structure d'enregistrement d'une table, soit de la structure d'enregistrement définie par l'utilisateur.

Qu'est-ce qu'un curseur de référence faible dans la base de données Oracle ?

Contrairement aux curseurs de référence forts, les curseurs de référence faibles sont ceux qui n'ont pas de type de retour. En d'autres termes, les curseurs de référence qui n'ont pas de type de retour fixe sont appelés curseurs de référence faibles.

Étant donné que les curseurs Ref faibles n'ont pas de type de retour fixe, ils sont donc ouverts à toutes les instructions SELECT. Et cela en fait l'un des curseurs de référence les plus utilisés en PL/SQL.

Syntaxe des curseurs de référence faible en PL/SQL

DECLARE
	TYPE ref_cursor_name IS REF CURSOR;

À l'exception de la clause de retour manquante, la syntaxe est à peu près similaire aux curseurs de référence forts.

Une étude canadienne suggère que les humains sont biologiquement programmés pour être paresseux. De plus, quel est l'intérêt d'avoir un ordinateur avec toutes ces puissances de traitement lorsque nous devons faire tout le travail difficile de déclarer un type de pointeur Ref, puis de créer une variable.

Eh bien, mes chers amis, si vous faites partie de ceux qui veulent s'abstenir de faire tout le travail difficile de création d'une variable de curseur, alors Oracle PL/SQL a une option pour vous. Cette option vous servira de variable de curseur implicitement créée. Alors, voyons ce que c'est.

Sys_RefCursor

Le curseur Sys Ref est une variable de curseur intégrée à Oracle. Il déclare un curseur de référence faible et cela sans déclarer le type de pointeur de référence. Il est principalement utilisé comme curseur générique qui peut être passé en argument à un sous-programme stocké.

C'est tout pour ce tutoriel sur l'introduction aux curseurs de référence PL/SQL dans Oracle Database. Restez à l'écoute car dans les prochains didacticiels, nous ferons une démonstration pratique du curseur de référence dans Oracle PL/SQL.

Vous pouvez également vous référer au tutoriel vidéo sur le même sujet sur ma chaîne YouTube pour plus de détails.

Merci d'être passé. Bonne journée !