DEVOIR A RENDRE
Matière Développement avec Oracle : Oracle
SQL, PL/SQL et Forms
Nom Enseignante Madame IMA Rasmata
Classe IT3
Date de remise du sujet aux Etudiant 09/12/2023
Date de remise du DAR a 14/12/2023
l’enseignante
Membre du Groupe :Coulibaly Moussa, Baki Franck, Kabré Yazid,
Bonkoungou Evan, Kontonkomde Ben Sidik, Derra Adama, Kabore
Koudougou Adams
[Link]
1. LANGAGE ORACLE SQL
a) En Oracle SQL:
LMD: Language Manipulation Data (Manipulation de données de langage)
Commande : SELECT, INSERT, UPDATE, MERGE
LDD: Language Definition Data (Définition de données de langage)
Commande : CREATE
LCD: Language Control Data (Contrôle de données de langage) Commande :
GRANT, REVOKE
LCT: Language Control Transaction (Contrôle de transaction de langage)
Commande : COMMIT, ROLLBACK, SAVEPOINT
b) La différence entre l'instruction DELETE FROM PRODUITS et l'instruction
TRUNCATE TABLE PRODUITS est que DELETE supprime les lignes spécifiées, tandis
que TRUNCATE supprime toutes les lignes de la table, mais de manière plus efficace
en termes de performance.
c) Les instructions qui mettent fin à la transaction en cours avec succès sont :
COMMIT
ROLLBACK
SAVE POINT
d) Pour changer le mot de passe de l'utilisateur SCOTT en TEST02, vous pouvez
utiliser la commande suivante :
ALTER USER SCOTT IDENTIFIED BY TEST02;
e) Pour déverrouiller le compte de l'utilisateur SCOTT, vous pouvez utiliser la
commande suivante :
ALTER USER SCOTT ACCOUNT UNLOCK;
f) Pour valider une transaction en SQL, vous utilisez l'instruction COMMIT.
2. PROCEDURAL LANGAGE SQL(PL/SQL)
a) Les sections obligatoires d'un bloc PL/SQL sont la section DECLARE, la section
BEGIN, et la section EXCEPTION.
b) Les sections facultatives d'un bloc PL/SQL sont la section EXCEPTION et la section
DECLARE.
c) Les types de structures conditionnelles en PL/SQL sont IF, ELSIF, et ELSE.
d) Les types de structures itératives en PL/SQL sont LOOP, FOR, et WHILE.
e) Les erreurs sont gérées dans la section EXCEPTION du bloc PL/SQL.
3. ENVIRONNEMENT SQL*PLUS
a) SQL*PLUS est un utilitaire en ligne de commande d'Oracle qui permet d'interagir
avec la base de données Oracle. Il offre un environnement interactif pour exécuter
des commandes SQL et des scripts PL/SQL.
b) Pour afficher la structure d'une table dans SQL*PLUS, vous pouvez utiliser la
commande suivante :
DESCRIBE nom_de_la_table;
c) OUI.
d) Pour qu'un utilisateur se connecte avec son USERNAME et son PASSWORD via
l'environnement SQL*PLUS, il peut utiliser la commande suivante :
CONNECT username/password;
4. ORACLE FORMS
a) Le navigateur d'objet de Oracle Forms regroupe des éléments tels que les blocs,
les alertes, les items, les procédures déclenchées, etc.
b) Une alerte dans Oracle Forms est une fenêtre contextuelle qui affiche un message
à l'utilisateur pour lui fournir des informations, des avertissements ou pour demander
une action de sa part.
c) Le rôle d'un éditeur dans Oracle Forms est de permettre la modification des
propriétés et des détails des différents éléments du formulaire.
d) L'espace sur lequel sont disposés les champs dans Oracle Forms est appelé le
"canvas" ou "fenêtre graphique".
e) Les champs dans Oracle Forms sont appelés "items".
f) Les LOV (List of Values) dans Oracle Forms représentent des listes de valeurs qui
aident les utilisateurs à sélectionner des données à partir d'une liste prédéfinie.
g) Il existe deux types de présentation d'un formulaire : Modal et Non-Modal.
h) Les attributs visuels dans Oracle Forms contrôlent l'apparence graphique des
différents éléments du formulaire, tels que la couleur, la police, etc.
II . EXERCICES
1. LANGAGE ORACLE SQL
a) Pour afficher les localités existantes sans doublons, vous pouvez utiliser la
commande suivante :
SELECT DISTINCT NOM FROM IDEPARTEMENTS;
b) Pour mettre à jour la localité de "MANGA" à "KONGOUSSI", vous pouvez utiliser la
commande suivante :
UPDATE IDEPARTEMENTS SET NOM = 'KONGOUSSI' WHERE NOM = 'MANGA';
c) Pour afficher toutes les lignes et colonnes de la table Départements, vous pouvez
utiliser la commande suivante :
SELECT * FROM IDEPARTEMENTS;
d) Pour supprimer de la table Départements tous ceux dont la localité n'est pas
renseignée, vous pouvez utiliser la commande suivante :
DELETE FROM IDEPARTEMENTS WHERE NOM IS NULL;
2. PROCEDURAL LANGAGE SQL (PL/SQL)
a) Bloc PL/SQL anonyme :
DECLARE
v_nombre NUMBER := ¶metre;
BEGIN
IF MOD(v_nombre, 2) = 0 THEN
DBMS_OUTPUT.PUT_LINE('Ce nombre est paire');
ELSE
DBMS_OUTPUT.PUT_LINE('Ce nombre est impaire');
END IF;
END;
b) Bloc PL/SQL pour remplir la table "t_nombre" :
DECLARE
v_numero NUMBER := 1;
BEGIN
FOR i IN 1..100 LOOP
INSERT INTO t_nombre (nb) VALUES (v_numero);
v_numero := v_numero + 1;
END LOOP;
END;
CREATE TABLE t_nombre (nb NUMBER(15));
c) Bloc PL/SQL pour mettre à jour le salaire en fonction des ventes :
DECLARE
v_vente NUMBER := &vente;
v_bonus NUMBER;
v_salaire NUMBER := -- Votre salaire initial ici;
BEGIN
IF v_vente > 1000 THEN
v_bonus := v_vente * 0.5;
ELSE
v_bonus := v_vente * 0.2;
END IF;
v_salaire := v_salaire + v_bonus;
END;