QCM PL/SQL Corrigé – Partie 3

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. Quel type de données est utilisé pour stocker des nombres avec des décimales en PL/SQL ?

A NUMBER

B INT

C FLOAT

D DECIMAL

A
En PL/SQL, pour stocker des nombres avec des décimales, on utilise le type NUMBER. Ce type est polyvalent et peut être utilisé pour des valeurs entières ou décimales.

 

 

2. Comment déclare-t-on un curseur explicite dans PL/SQL ?

A CURSOR c_nom IS SELECT * FROM table_name;

B DECLARE CURSOR c_nom IS SELECT * FROM table_name;

C DECLARE CURSOR c_nom SELECT * FROM table_name;

D CURSOR c_nom SELECT * FROM table_name;

B
Un curseur explicite est déclaré dans la section DECLARE d’un bloc PL/SQL en utilisant la syntaxe DECLARE CURSOR nom_du_curseur IS SELECT .... Ce curseur peut ensuite être ouvert, récupéré et fermé pour manipuler les résultats d’une requête.

 

 

3. Quelle est la syntaxe correcte pour une boucle infinie en PL/SQL ?

A LOOP ... END LOOP;

B WHILE TRUE LOOP ... END LOOP;

C FOR i IN 1..10 LOOP ... END LOOP;

D LOOP LOOP ... END LOOP;

A
La syntaxe LOOP ... END LOOP; crée une boucle infinie en PL/SQL. Elle continuera d’exécuter le bloc de code à l’intérieur jusqu’à ce qu’une instruction EXIT soit rencontrée.

 

 
 

4. Peut-on exécuter des instructions SQL dans un bloc PL/SQL ?

A Oui, on peut exécuter des instructions SQL avec EXECUTE seulement.

B Oui, on peut exécuter des instructions SQL directement dans le bloc PL/SQL.

C Non, les instructions SQL ne peuvent pas être exécutées dans PL/SQL.

D Oui, mais seulement pour les requêtes SELECT.

B
Dans un bloc PL/SQL, vous pouvez exécuter des instructions SQL comme SELECT, INSERT, UPDATE, DELETE directement, sans avoir besoin de EXECUTE. Cependant, pour certains cas (comme les appels de procédures stockées ou certaines requêtes dynamiques), vous pourriez utiliser EXECUTE IMMEDIATE. Exemple:

DECLARE
   v_employee_name VARCHAR2(100);
BEGIN
   SELECT employee_name
   INTO v_employee_name
   FROM employees
   WHERE employee_id = 100;
   
   DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_employee_name);
END;

Dans cet exemple, une instruction SQL SELECT est exécutée à l’intérieur du bloc PL/SQL pour récupérer le nom d’un employé et l’afficher.

 

 

5. À quoi sert le mot-clé IS en PL/SQL ?

A Il est utilisé pour déclarer une constante.

B Il est utilisé pour définir la condition dans une boucle.

C Il est utilisé pour indiquer qu’une fonction ou une procédure commence.

D Il est utilisé pour lier une variable à un type de données.

C
Le mot-clé IS est utilisé dans la définition des fonctions et des procédures en PL/SQL pour indiquer que le corps de la fonction ou de la procédure commence. Par exemple, dans une procédure:

PROCEDURE ma_procedure IS
BEGIN
  -- corps de la procédure
END;

 

 

6. Quelle est la signification de NULL en PL/SQL ?

A Un indicateur de fin de programme.

B Une valeur vide ou indéfinie.

C Un type de donnée spécial pour les chaînes de caractères.

D Une valeur qui arrête l’exécution d’une requête SQL.

B
En PL/SQL, NULL représente une valeur inconnue ou non définie. C’est différent d’une chaîne vide ou d’une valeur zéro. Par exemple, une variable peut être définie comme NULL pour indiquer qu’elle n’a pas encore de valeur.

 

 
 

7. Que fait la commande RAISE en PL/SQL ?

A Elle termine immédiatement un bloc PL/SQL.

B Elle lance une exception ou une erreur.

C Elle retourne une valeur à partir d’une fonction.

D Elle modifie la valeur d’une variable.

B
L’instruction RAISE en PL/SQL est utilisée pour lever explicitement une exception, que ce soit une exception prédéfinie ou une exception définie par l’utilisateur. Cela interrompt l’exécution du bloc en cours et transfère le contrôle à la section EXCEPTION.

 

 

8. Que fait l’instruction SELECT INTO en PL/SQL ?

A Elle effectue une insertion dans une table.

B Elle crée une table en mémoire.

C Elle récupère une ou plusieurs valeurs dans des variables.

D Elle supprime des données d’une table.

C
L’instruction SELECT INTO permet de récupérer des résultats d’une requête SQL et de les stocker dans des variables. Par exemple, si vous avez une variable v_name, vous pouvez faire SELECT name INTO v_name FROM users WHERE id = 1; pour récupérer une valeur de la table users et la stocker dans la variable v_name.

 

 

9. Quelle est la différence principale entre une boucle FOR et une boucle WHILE en PL/SQL ?

A Une boucle FOR est utilisée pour itérer sur un nombre fixe de valeurs, tandis qu’une boucle WHILE continue tant que la condition est vraie.

B Une boucle FOR est plus lente qu’une boucle WHILE.

C Une boucle WHILE ne peut pas contenir de condition.

D Une boucle FOR nécessite une variable d’itération, tandis qu’une boucle WHILE utilise uniquement une condition.

A
Une boucle FOR en PL/SQL est généralement utilisée lorsque le nombre d’itérations est connu à l’avance (par exemple, itérer de 1 à 10). En revanche, une boucle WHILE continue tant que la condition spécifiée est vraie, donc elle est plus flexible.

 

 
 

10. Quelle est la syntaxe correcte pour sortir d’une boucle LOOP lorsqu’une condition est remplie ?

A EXIT LOOP WHEN condition;

B EXIT condition WHEN;

C EXIT WHEN condition; END LOOP;

D EXIT WHEN condition;

D
Pour sortir d’une boucle LOOP lorsque une condition est remplie, vous utilisez l’instruction EXIT WHEN condition;. Cette syntaxe est valide dans les boucles LOOP, FOR et WHILE.

 

 

Laisser un commentaire

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