Exercices Corrigés PL/SQL: Types de données

La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec PL/SQL. Nous espérons que ces exercices vous aideront à améliorer vos compétences en PL/SQL. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!

Vous pouvez lire notre tutoriel PL/SQL avant de résoudre les exercices suivants.

 
 

Exercices corrigés PL/SQL: Types de données

1. Ecrivez un bloc PL/SQL pour apprendre à déclarer une variable de type CHAR.

DECLARE
  str VARCHAR2(10);
BEGIN
  str := 'hello';
END;
/

 

2.Écrire un bloc PL/SQL pour insérer des données dans une table en utilisant une variable de type CHAR.

CREATE TABLE exemple (colonne1 CHAR(6));
 
DECLARE
  str VARCHAR2(6) := 'hello';
BEGIN
  INSERT INTO exemple(colonne1) VALUES(str);
END;
/

 

3. Écrire un bloc PL/SQL pour différencier les types CHAR et VARCHAR2.

La différence entre un CHAR et un VARCHAR est qu’un CHAR(n) aura TOUJOURS une longueur de N octets. Par contre, un VARCHAR2(n) aura une longueur comprise entre 1 et N octets et ne sera PAS rempli par des espaces vides.

DECLARE
  nom1  CHAR(15);
  nom2   VARCHAR2(15);
BEGIN
  nom1 := 'Alex  ';
  nom2  := 'Bob  ';
 
  DBMS_OUTPUT.PUT_LINE('*' || nom1 || '*');
  DBMS_OUTPUT.PUT_LINE('*' || nom2 || '*');
END;
/

Sortie:

*Alex          *
*Bob  *

 

4. Écrire une procédure PL/SQL qui accepte un paramètre BOOLEAN et utilise l’instruction CASE pour afficher « ERROR » si la valeur du paramètre est NULL, « Oui » si elle est TRUE et « Non » si elle est FALSE.

CREATE PROCEDURE check_bool (b BOOLEAN) AUTHID DEFINER
AS
BEGIN
  DBMS_OUTPUT.put_line (
    CASE
      WHEN b IS NULL THEN 'ERROR'
      WHEN b THEN 'OUI'
      WHEN NOT b THEN 'NON'
    END
  );
END;
/

BEGIN
  check_bool(NULL);
  check_bool(FALSE);
  check_bool(TRUE);
END;
/

Sortie:

ERROR
OUI
NON

 

 

Laisser un commentaire

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