QCM PL/SQL Corrigé – Partie 14

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. Quelle est l’utilité de l’instruction DROP en PL/SQL ?

A Supprimer des données d’une table.

B Supprimer un objet de la base de données (table, vue, procédure, etc.).

C Modifier la structure d’une table.

D Ajouter une contrainte à une table.

B
L’instruction DROP est utilisée pour supprimer des objets de la base de données comme des tables, des vues, des procédures ou des fonctions. Par exemple :

DROP TABLE table_name;

 

 

2. Que fait l’instruction ALTER en PL/SQL ?

A Modifie les données dans une table.

B Modifie la structure d’une table ou d’un objet de base de données.

C Crée un nouvel objet dans la base de données.

D Supprime un objet de la base de données.

B
L’instruction ALTER est utilisée pour modifier la structure d’un objet de base de données, comme une table. Par exemple:

ALTER TABLE employees ADD salary NUMBER(10, 2);

 

 

3. Quel est l’effet de l’instruction EXIT WHEN dans une boucle LOOP ?

A Elle arrête immédiatement l’exécution de la boucle sans aucune condition.

B Elle permet de reprendre l’exécution de la boucle après une interruption.

C Elle arrête complètement l’exécution du programme.

D Elle permet de sortir de la boucle lorsque la condition spécifiée est vraie.

D
L’instruction EXIT WHEN permet de sortir prématurément d’une boucle LOOP lorsque la condition spécifiée devient vraie. Par exemple:

LOOP
   -- instructions
   EXIT WHEN some_condition;
END LOOP;

 

 
 

4. Quelle est l’utilité de la fonction NVL en PL/SQL ?

A Elle permet de calculer la moyenne de plusieurs valeurs.

B Elle remplace une valeur NULL par une valeur par défaut.

C Elle permet de concaténer plusieurs chaînes de caractères.

D Elle permet de comparer deux valeurs.

B
La fonction NVL est utilisée pour remplacer une valeur NULL par une valeur par défaut. Par exemple:

SELECT NVL(salary, 0) FROM employees;

Cela remplace les valeurs NULL dans la colonne salary par 0.

 

 

5. Que fait l’instruction MERGE en PL/SQL ?

A Elle permet de fusionner plusieurs tables en une seule.

B Elle insère des données dans une table.

C Elle met à jour des données dans une table si elles existent, ou insère de nouvelles données si elles n’existent pas.

D Elle supprime des données dans une table.

C
L’instruction MERGE est utilisée pour effectuer des opérations de mise à jour ou d’insertion dans une table, en fonction de l’existence ou non des données. Exemple:

MERGE INTO target_table t
USING source_table s
ON (t.id = s.id)
WHEN MATCHED THEN
   UPDATE SET t.name = s.name
WHEN NOT MATCHED THEN
   INSERT (id, name) VALUES (s.id, s.name);

 

 

6. Quelle est la bonne manière d’utiliser un curseur dans une procédure PL/SQL ?

A Le curseur doit être défini dans la section BEGIN.

B Un curseur explicite peut être ouvert, manipulé, puis fermé dans une procédure.

C Les curseurs sont utilisés uniquement dans des fonctions.

D Un curseur ne peut être utilisé qu’avec des instructions SELECT INTO.

B
Dans une procédure PL/SQL, un curseur explicite peut être ouvert à l’aide de OPEN, récupéré avec FETCH, et fermé avec CLOSE. Cela permet de traiter plusieurs lignes de données dans un processus contrôlé.

 

 
 

7. Quelle est la différence entre BULK COLLECT et FOR dans une boucle PL/SQL ?

A BULK COLLECT est utilisé pour parcourir les résultats d’une requête ligne par ligne, tandis que FOR est utilisé pour récupérer toutes les lignes en une seule fois.

B BULK COLLECT et FOR accomplissent la même chose.

C BULK COLLECT est plus lent que FOR car il charge toutes les lignes en mémoire.

D BULK COLLECT permet de récupérer plusieurs lignes à la fois dans une collection, tandis que FOR permet de traiter chaque ligne une par une.

D
BULK COLLECT permet de récupérer plusieurs lignes d’une requête en une seule opération et de les stocker dans une collection (comme un tableau ou une table indexée). Cela améliore les performances par rapport à un traitement ligne par ligne avec une boucle FOR.

 

 

8. Quel est le type de données utilisé pour déclarer une variable de type booléen en PL/SQL ?

A BOOLEAN

B BOOL

C NUMBER(1)

D VARCHAR2(1)

A
En PL/SQL, le type de données BOOLEAN est utilisé pour déclarer des variables qui peuvent avoir les valeurs TRUE, FALSE ou NULL. Exemple de déclaration:

DECLARE
  my_flag BOOLEAN;
BEGIN
  my_flag := TRUE;
END;

 

 

9. Quelle est la différence principale entre les types de données DATE et TIMESTAMP en PL/SQL ?

A DATE ne contient que la date (jour, mois, année), tandis que TIMESTAMP contient aussi l’heure.

B DATE inclut l’heure, tandis que TIMESTAMP ne contient que la date.

C DATE peut uniquement être utilisé avec des dates spécifiques, tandis que TIMESTAMP peut être utilisé avec n’importe quelle donnée temporelle.

D DATE contient des informations temporelles précises, tandis que TIMESTAMP contient des informations temporelles approximatives.

A
Le type de données DATE en PL/SQL contient la date et l’heure jusqu’à la seconde, mais ne contient pas de fractions de seconde. Le type TIMESTAMP peut contenir la date, l’heure, ainsi que les fractions de seconde.

 

 
 

10. Que fait l’instruction BETWEEN dans une requête SQL ou PL/SQL ?

A Elle permet de comparer deux valeurs et vérifier si elles sont égales.

B Elle permet d’effectuer une jointure entre deux tables.

C Elle permet de filtrer les résultats d’une requête en incluant toutes les valeurs dans un intervalle spécifié.

D Elle permet de trier les résultats dans un ordre croissant ou décroissant.

C
L’instruction BETWEEN est utilisée pour vérifier si une valeur se trouve dans un intervalle donné. Par exemple:

SELECT * FROM employees WHERE salary BETWEEN 2000 AND 5000;

Cela retourne les employés dont le salaire est compris entre 2000 et 5000.

 

 

Laisser un commentaire

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