QCM PL/SQL Corrigé – Partie 2

QCM sur PL/SQL avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur PL/SQL comprennent divers sujets tel que les bases de PL/SQL, les variables, les constantes, les boucles, les déclencheurs, les curseurs, les procédures, etc…. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur PL/SQL.
 
 

1. Comment peut-on gérer une exception spécifique en PL/SQL ?

A En utilisant WHEN ... THEN ... dans la section EXCEPTION.

B En utilisant TRY ... CATCH.

C En utilisant IF ... ELSE dans la section EXCEPTION.

D En utilisant RAISE pour relancer l’exception après l’avoir capturée.

A
Dans PL/SQL, les exceptions sont gérées à l’aide de la section EXCEPTION. Vous pouvez capturer des exceptions spécifiques avec la syntaxe WHEN <exception_name> THEN. Par exemple, WHEN NO_DATA_FOUND THEN. L’option B est incorrecte, car TRY ... CATCH est une structure courante en d’autres langages, comme Java, mais pas en PL/SQL. L’option C est incorrecte car IF ... ELSE n’est pas utilisé dans la section EXCEPTION. L’option D est incorrecte en ce qui concerne la gestion d’une exception spécifique, mais RAISE peut effectivement être utilisé pour relancer une exception après l’avoir capturée.

 

 

2. Qu’est-ce qu’un curseur implicite en PL/SQL ?

A Un curseur est une variable utilisée pour stocker les résultats d’une requête SQL.

B Un curseur implicite est automatiquement créé par Oracle pour chaque requête SQL exécutée.

C Un curseur implicite est un type de variable qui stocke des erreurs SQL.

D Un curseur implicite est une boucle utilisée pour traiter les résultats des requêtes.

B
Oracle crée automatiquement un curseur implicite pour chaque instruction SQL exécutée. Ce curseur est utilisé pour traiter les résultats de la requête, et il n’est pas nécessaire de le déclarer explicitement. C’est un mécanisme interne qui facilite l’exécution des requêtes sans avoir à manipuler des curseurs manuellement.

 

 

3. Quelle est la différence entre un « cursor explicite » et un « cursor implicite » en PL/SQL ?

A Un cursor explicite est créé et géré par le programmeur, tandis qu’un cursor implicite est automatiquement créé par Oracle pour chaque requête SELECT.

B Un cursor implicite est créé par l’utilisateur, tandis qu’un cursor explicite est créé automatiquement par Oracle.

C Un cursor explicite permet de gérer plusieurs résultats de requêtes, contrairement à un cursor implicite.

D Un cursor implicite ne peut être utilisé qu’avec des instructions SELECT, tandis qu’un cursor explicite fonctionne uniquement avec des instructions INSERT.

A
Les cursors implicites sont automatiquement créés par Oracle lors de l’exécution d’une instruction SQL qui retourne plusieurs lignes (comme un SELECT), sans avoir besoin de déclaration préalable. Les cursors explicites, en revanche, sont définis manuellement dans le code PL/SQL par le programmeur. Ils offrent un plus grand contrôle sur la gestion des résultats de requêtes.

 

 
 

4. Que fait la commande COMMIT dans un bloc PL/SQL ?

A Elle valide toutes les modifications effectuées dans le bloc PL/SQL.

B Elle annule toutes les modifications effectuées dans le bloc PL/SQL.

C Elle ferme le bloc PL/SQL.

D Elle interrompt l’exécution du bloc PL/SQL.

A
La commande COMMIT dans PL/SQL est utilisée pour valider les modifications effectuées sur la base de données (comme les insertions, mises à jour ou suppressions) et rendre ces modifications permanentes. Sans COMMIT, les modifications restent dans une transaction et peuvent être annulées avec la commande ROLLBACK.

 

 

5. Quelle est la fonction de la clause RETURN en PL/SQL ?

A Elle permet de sortir d’une fonction et de renvoyer une valeur.

B Elle est utilisée pour gérer les exceptions dans un bloc de code.

C Elle permet de terminer un bloc de code sans renvoyer de valeur.

D Elle est utilisée pour définir des curseurs explicites.

A
La clause RETURN est utilisée dans une fonction PL/SQL pour renvoyer une valeur à l’endroit où la fonction a été appelée. Lorsqu’une fonction est exécutée, la valeur retournée peut être utilisée par l’appelant.

 

 

6. Quelle instruction permet d’ouvrir un curseur explicite en PL/SQL ?

A OPEN cursor_name;

B OPEN cursor_name FOR;

C EXECUTE cursor_name;

D DECLARE cursor_name;

B
En PL/SQL, un curseur explicite doit d’abord être déclaré dans la section DECLARE, puis ouvert avec l’instruction OPEN <cursor_name> FOR <SELECT statement>. Cela initialise le curseur pour qu’il commence à traiter les lignes retournées par la requête SQL.

 

 
 

7. Quelle est la syntaxe correcte pour déclarer une variable de type chaîne de caractères de 50 caractères dans PL/SQL ?

A v_chaine VARCHAR(50);

B v_chaine VARCHAR2(50);

C v_chaine CHAR(50);

D v_chaine STRING(50);

B
En PL/SQL, pour déclarer une variable de type chaîne de caractères, on utilise le type VARCHAR2. Le type VARCHAR existe en SQL mais pas en PL/SQL. CHAR est également utilisé pour des chaînes de longueur fixe, mais VARCHAR2 est plus couramment utilisé pour des chaînes de longueur variable.

 

 

8. Quelle est la bonne manière de gérer une exception NO_DATA_FOUND en PL/SQL ?

A Utiliser EXCEPTION WHEN NO_DATA_FOUND THEN.

B Utiliser EXCEPTION WHEN NO_DATA_FOUND DO dans le bloc principal.

C Utiliser EXCEPTION WHEN NO_DATA_FOUND CALL.

D Utiliser EXCEPTION NO_DATA_FOUND sans THEN.

A
En PL/SQL, la gestion des exceptions se fait en utilisant EXCEPTION suivi de l’exception spécifique, comme NO_DATA_FOUND. La syntaxe correcte est donc EXCEPTION WHEN NO_DATA_FOUND THEN.

 

 

9. Quelle est la syntaxe correcte d’une instruction IF en PL/SQL ?

A condition BEGIN ... END;

B THEN condition ... END IF;

C condition { ... } END IF;

D IF condition THEN ... END IF;

D
La syntaxe correcte pour une instruction conditionnelle IF en PL/SQL est IF condition THEN ... END IF;. La condition est évaluée et, si elle est vraie, le bloc de code qui suit est exécuté.

 

 
 

10. Où peut-on déclarer des variables dans un bloc PL/SQL ?

A Seulement dans la section DECLARE.

B Dans la section BEGIN.

C Dans la section EXCEPTION.

D Dans la section END.

A
Les variables doivent être déclarées dans la section DECLARE d’un bloc PL/SQL. Si vous ne déclarez pas de variables, vous pouvez omettre cette section. Les autres sections du bloc sont destinées à l’exécution (BEGIN) ou à la gestion des erreurs (EXCEPTION).

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *