QCM PL/SQL Corrigé – Partie 18

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. Que fait la fonction TO_NUMBER en PL/SQL ?

A Elle convertit une chaîne de caractères en un nombre entier.

B Elle convertit une chaîne de caractères en un nombre à virgule flottante.

C Elle convertit un nombre en une chaîne de caractères.

D Elle retourne un nombre dans le format spécifié.

B
La fonction TO_NUMBER permet de convertir une chaîne de caractères en un nombre. Elle peut aussi prendre un format optionnel pour définir la manière dont le nombre est interprété. Exemple :

SELECT TO_NUMBER('1234.56') FROM dual;

 

 

2. À quoi sert la fonction RANK() en PL/SQL ?

A Elle permet de calculer la somme des valeurs d’une colonne.

B Elle permet de classer les résultats d’une requête en fonction d’un critère.

C Elle permet de trier les résultats par ordre croissant ou décroissant.

D Elle permet de renvoyer le rang de chaque ligne dans un ensemble de résultats trié.

D
RANK() est une fonction analytique qui attribue un rang aux lignes d’une requête en fonction d’un critère donné. Si deux lignes ont la même valeur, elles se voient attribuer le même rang, mais le rang suivant est « sauté ». Exemple:

SELECT emp_id, salary, RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;

 

 

3. Quel est le rôle du mot-clé PRAGMA EXCEPTION_INIT en PL/SQL ?

A Il permet de définir une exception personnalisée et de l’associer à un code d’erreur.

B Il permet de récupérer les erreurs générées par le système.

C Il permet de configurer les paramètres de gestion des exceptions.

D Il permet de relancer une exception dans un bloc EXCEPTION.

A
Le mot-clé PRAGMA EXCEPTION_INIT permet de lier une exception personnalisée à un code d’erreur spécifique. Exemple:

DECLARE
   e_custom_exception EXCEPTION;
   PRAGMA EXCEPTION_INIT(e_custom_exception, -20001);
BEGIN
   RAISE e_custom_exception;
EXCEPTION
   WHEN e_custom_exception THEN
      DBMS_OUTPUT.PUT_LINE('Erreur personnalisée déclenchée');
END;

 

 
 

4. Quelle est la fonction de la clause HAVING dans une requête SQL ?

A Elle permet de filtrer les données avant de les regrouper.

B Elle permet de trier les résultats d’une requête.

C Elle permet de filtrer les groupes de résultats après un GROUP BY.

D Elle permet de créer des sous-requêtes dans la clause SELECT.

C
La clause HAVING est utilisée pour filtrer les résultats après l’application d’un GROUP BY. Elle permet de filtrer les agrégats, contrairement à WHERE, qui filtre les lignes avant l’agrégation. Exemple:

SELECT department_id, COUNT(*) 
FROM employees 
GROUP BY department_id
HAVING COUNT(*) > 5;

 

 

5. À quoi sert la directive PRAGMA RESTRICT_REFERENCES en PL/SQL ?

A Elle permet d’empêcher l’utilisation d’un curseur dans une procédure.

B Elle limite l’accès aux tables dans une fonction afin qu’elle soit utilisée dans une expression SQL.

C Elle restreint l’accès aux exceptions dans un bloc PL/SQL.

D Elle permet de sécuriser l’accès aux données sensibles dans un programme PL/SQL.

B
PRAGMA RESTRICT_REFERENCES est utilisé pour marquer une fonction afin qu’elle ne fasse pas de modifications non déterministes, comme l’accès aux tables ou l’utilisation de fonctions qui ne peuvent pas être utilisées dans une expression SQL. Cela garantit que la fonction peut être utilisée dans un contexte où la stabilité et la prévisibilité sont importantes.

 

 

6. Que représente le type ROWID en PL/SQL ?

A Il représente l’identifiant unique d’une ligne dans une table.

B Il représente l’index d’une table.

C Il est utilisé pour stocker des informations sur les colonnes d’une table.

D Il permet de retrouver les lignes en fonction de la valeur d’une colonne.

A
ROWID est un type de données spécial en PL/SQL qui contient l’adresse physique d’une ligne dans une table. Chaque ligne dans une table a un ROWID unique. Exemple:

SELECT rowid, first_name FROM employees WHERE emp_id = 101;

Cela renvoie l’adresse de la ligne pour l’employé avec l’ID 101.

 

 
 

7. À quoi sert la fonction DECODE en PL/SQL ?

A Elle permet de rechercher un mot-clé dans une colonne de texte.

B Elle permet de compter le nombre de lignes dans une table.

C Elle permet de renvoyer une valeur différente en fonction de conditions spécifiées.

D Elle permet de trier les résultats d’une requête.

C
DECODE est une fonction conditionnelle qui permet de retourner une valeur en fonction d’une condition. C’est une alternative à l’instruction CASE. Exemple:

SELECT DECODE(department_id, 10, 'Sales', 20, 'Marketing', 'Other') 
FROM employees;

Cela renvoie « Sales » si department_id est 10, « Marketing » si c’est 20, et « Other » sinon.

 

 

8. À quoi sert la clause GROUP BY dans une requête SQL ?

A Elle permet de regrouper les résultats selon une ou plusieurs colonnes.

B Elle permet de trier les résultats d’une requête.

C Elle permet de filtrer les résultats avant l’agrégation.

D Elle permet de supprimer les doublons dans les résultats.

A
La clause GROUP BY est utilisée pour regrouper les lignes qui ont les mêmes valeurs dans une ou plusieurs colonnes. Cela est souvent utilisé en combinaison avec des fonctions d’agrégation comme COUNT, SUM, AVG, etc. Exemple:

SELECT department_id, COUNT(*) 
FROM employees
GROUP BY department_id;

Cela compte le nombre d’employés dans chaque département.

 

 

9. À quoi sert la fonction LEAD() en PL/SQL ?

A Elle permet de récupérer la valeur d’une colonne dans une ligne précédente.

B Elle permet de comparer une valeur avec la suivante dans une requête.

C Elle permet de récupérer la valeur d’une colonne dans une ligne suivante.

D Elle permet de calculer des moyennes de colonnes.

C
LEAD() est une fonction analytique qui permet de récupérer la valeur d’une colonne dans une ligne suivante dans un ensemble de résultats. Exemple:

SELECT emp_id, salary, LEAD(salary) OVER (ORDER BY salary) AS next_salary
FROM employees;

Cela renvoie le salaire de l’employé actuel et celui de l’employé suivant dans la table.

 

 
 

10. Que fait la fonction COALESCE en PL/SQL ?

A Elle renvoie la première valeur non NULL dans une liste d’expressions.

B Elle convertit une chaîne de caractères en un nombre entier.

C Elle remplace les valeurs NULL par une autre valeur spécifiée.

D Elle calcule la somme des valeurs d’une colonne.

A
COALESCE est utilisée pour renvoyer la première valeur non NULL parmi plusieurs expressions. Exemple:

SELECT COALESCE(NULL, NULL, 'Premier non-NULL', 'Autre') FROM dual;

Cela renvoie ‘Premier non-NULL’.

 

 

Laisser un commentaire

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