QCM PL/SQL Corrigé – Partie 13

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 l’instruction RAISE_APPLICATION_ERROR en PL/SQL ?

A Elle lance une exception prédéfinie.

B Elle permet de lever une erreur personnalisée dans une procédure ou fonction.

C Elle interrompt une boucle FOR dans un bloc PL/SQL.

D Elle renvoie une valeur d’erreur à la base de données.

B
L’instruction RAISE_APPLICATION_ERROR est utilisée pour lever des erreurs personnalisées dans un bloc PL/SQL. Elle permet de fournir un code d’erreur et un message spécifique pour l’application. Exemple:

RAISE_APPLICATION_ERROR(-20001, 'Erreur personnalisée');

 

 

2. Dans quel cas l’instruction EXIT est-elle utilisée en PL/SQL ?

A Pour sortir d’une procédure.

B Pour sortir d’une boucle.

C Pour terminer un bloc BEGIN.

D Pour fermer un curseur.

B
L’instruction EXIT est utilisée pour sortir immédiatement d’une boucle FOR, WHILE ou LOOP. Vous pouvez l’utiliser avec une condition, comme dans :

EXIT WHEN i > 10;

 

 

3. Quelle est la différence entre un type de donnée BLOB et CLOB en PL/SQL ?

A BLOB est utilisé pour stocker des données textuelles, tandis que CLOB est utilisé pour stocker des données binaires.

B BLOB peut uniquement être utilisé avec des données numériques, tandis que CLOB peut être utilisé pour des chaînes de caractères.

C BLOB et CLOB sont équivalents en PL/SQL.

D BLOB est utilisé pour stocker des données binaires (comme des images), tandis que CLOB est utilisé pour stocker des données textuelles longues.

D
En PL/SQL, BLOB (Binary Large Object) est utilisé pour stocker des données binaires comme des images ou des fichiers audio, tandis que CLOB (Character Large Object) est utilisé pour stocker de grandes quantités de texte.

 

 
 

4. Quelle est la différence entre les instructions COMMIT et ROLLBACK ?

A COMMIT annule les modifications, tandis que ROLLBACK les valide.

B COMMIT valide toutes les modifications d’une transaction, tandis que ROLLBACK annule toutes les modifications non validées d’une transaction.

C COMMIT et ROLLBACK accomplissent la même chose.

D COMMIT permet de sauvegarder des points de restauration, tandis que ROLLBACK arrête le programme.

B
COMMIT est utilisé pour valider les modifications apportées par une transaction dans la base de données. Cela rend ces modifications permanentes. ROLLBACK, en revanche, est utilisé pour annuler toutes les modifications d’une transaction qui n’ont pas encore été validées par COMMIT.

 

 

5. Quelle est la bonne syntaxe pour déclarer un tableau (tableau associatif) en PL/SQL ?

A TYPE table_type IS TABLE OF INTEGER;

B TYPE table_type IS VARRAY OF INTEGER;

C TYPE table_type IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;

D TYPE table_type IS ARRAY OF INTEGER;

C
En PL/SQL, un tableau associatif (anciennement appelé « tableau indexé ») est déclaré en utilisant la syntaxe TYPE <type_name> IS TABLE OF <element_type> INDEX BY BINARY_INTEGER. Cela permet de créer une table où les éléments sont indexés par un nombre entier.

 

 

6. Quelle est l’utilité de la fonction COALESCE en PL/SQL ?

A Elle retourne la première valeur non-NULL parmi les arguments fournis.

B Elle retourne la valeur maximale parmi les arguments fournis.

C Elle retourne la valeur minimale parmi les arguments fournis.

D Elle convertit les valeurs NULL en zéro.

A
La fonction COALESCE en PL/SQL retourne la première valeur non-NULL parmi les arguments fournis. Cela est utile pour gérer les valeurs NULL dans des expressions ou des requêtes.

 

 
 

7. A quoi sert la clause FOR dans un curseur explicite en PL/SQL ?

A Elle permet de fermer un curseur après son utilisation.

B Elle permet de récupérer les résultats d’une requête dans une variable.

C Elle permet de parcourir les résultats d’une requête dans une boucle.

D Elle permet d’ouvrir un curseur sans utiliser de requête SQL.

C
En PL/SQL, la clause FOR peut être utilisée dans un curseur explicite pour simplifier la gestion des résultats d’un curseur. Cela permet de parcourir automatiquement les lignes retournées par le curseur sans avoir besoin d’utiliser des commandes OPEN, FETCH, et CLOSE manuellement. Exemple:

DECLARE
    -- Définition d'un curseur explicite
    CURSOR emp_cursor IS
        SELECT first_name, last_name
        FROM employees;
BEGIN
    -- Parcours des résultats du curseur
    FOR emp_record IN emp_cursor LOOP
        -- Affichage du prénom et du nom de chaque employé
        DBMS_OUTPUT.PUT_LINE('Nom: ' || emp_record.first_name || 
                             ', Prénom: ' || emp_record.last_name);
    END LOOP;
END;

 

 

8. Quelle est l’utilité de l’instruction COMMIT en PL/SQL ?

A Annuler toutes les modifications effectuées dans une transaction.

B Valider les modifications effectuées dans une transaction.

C Fermer une connexion avec la base de données.

D Créer un nouvel enregistrement dans une table.

B
L’instruction COMMIT est utilisée pour valider toutes les modifications effectuées dans une transaction. Cela garantit que toutes les modifications apportées aux données sont définitivement enregistrées dans la base de données.

 

 

9. Quelle est la syntaxe correcte pour parcourir les résultats d’un curseur explicite à l’aide d’une boucle FOR ?

A FOR record IN cursor LOOP ... END LOOP;

B FOR record IN cursor FETCH LOOP ... END LOOP;

C FOR cursor IN record LOOP ... END LOOP;

D FOR cursor IN record FETCH LOOP ... END LOOP;

A
Pour parcourir les résultats d’un curseur explicite avec une boucle FOR, on utilise la syntaxe suivante :

FOR record IN cursor LOOP
  -- traitement de chaque ligne récupérée par le curseur
END LOOP;

 

 
 

10. À quoi sert l’instruction FETCH en PL/SQL ?

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

B Elle récupère une ligne de données d’un curseur.

C Elle supprime des données dans une table.

D Elle ferme un curseur.

B
L’instruction FETCH est utilisée pour récupérer une ligne de données d’un curseur explicite. Par exemple:

FETCH cursor INTO variable1, variable2;

 

 

Laisser un commentaire

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