Cours Oracle interagir avec le serveur Oracle, tutoriel & guide de travaux pratiques en pdf.
Objectifs
A la fin de ce chapitre, vous pourrez :
• déterminer les instructions SQL pouvant être incluses directement dans un bloc exécutable PL/SQL
• manipuler des données à l’aide d’instructions LMD dans du code PL/SQL
• utiliser des instructions de gestion des transactions dans le code PL/SQL
• utiliser la clause INTO pour le stockage des valeurs renvoyées par une instruction SQL
• distinguer les curseurs implicites des curseurs explicites
• utiliser des attributs de curseur SQL
Instructions SQL en langage PL/SQL
• Extrayez une ligne de la base de données à l’aide de la commande SELECT.
• Modifiez des lignes de la base de données en utilisant des commandes LMD.
• Contrôlez une transaction avec la commande COMMIT, ROLLBACK.
Instructions SELECT en langage PL/SQL
Extrayez les données de la base à l’aide d’une instruction SELECT.
Syntaxe :
SELECT select_list
INTO {variable_name[, variable_name]…
| record_name}
FROM table
[WHERE condition];
Instructions SELECT en langage PL/SQL
• La clause INTO est obligatoire.
• Les interrogations doivent renvoyer une seule ligne.
Exemple :
SET SERVEROUTPUT ON
DECLARE
fname VARCHAR2(25);
BEGIN
SELECT first_name INTO fname
FROM employees WHERE employee_id=200;
DBMS_OUTPUT.PUT_LINE(‘ First Name is : ‘||fname);
END;
/
Extraire des données en langage PL/SQL
Extrayez les valeurs hire_date et salary de l’employé désigné.
Exemple :
DECLARE
emp_hiredate employees.hire_date%TYPE;
emp_salary employees.salary%TYPE;
BEGIN
SELECT hire_date, salary
INTO emp_hiredate, emp_salary
FROM employees
WHERE employee_id = 100;
END;
/
Extraire des données en langage PL/SQL
Renvoyez la somme des salaires de tous les employés du département désigné.
Exemple :
SET SERVEROUTPUT ON
DECLARE
sum_sal NUMBER(10,2);
deptno NUMBER NOT NULL := 60;
BEGIN
SELECT SUM(salary) — group function
INTO sum_sal FROM employees
WHERE department_id = deptno;
DBMS_OUTPUT.PUT_LINE (‘The sum of salary is ‘
|| sum_sal);
END;
/
Manipuler les données en langage PL/SQL
Modifiez des tables de base de données en utilisant des instructions LMD :
• INSERT
• UPDATE
• DELETE
Insérer des données
Ajoutez les informations relatives à un nouvel employé à la table EMPLOYEES.
Exemple :
BEGIN
INSERT INTO employees
(employee_id, first_name, last_name, email,
hire_date, job_id, salary)
VALUES(employees_seq.NEXTVAL, ‘Ruth’, ‘Cores’,
‘RCORES’,sysdate, ‘AD_ASST’, 4000);
END;
/
Mettre à jour des données
Augmentez le salaire de tous les employés chargés du contrôle des stocks.
Exemple :
DECLARE
sal_increase employees.salary%TYPE := 800;
BEGIN
UPDATE employees
SET salary = salary + sal_increase
WHERE job_id = ‘ST_CLERK’;
END;
/
Supprimer des données
Supprimez les lignes appartenant au département 10 à partir de la table employees.
Exemple :
DECLARE
deptno employees.department_id%TYPE := 10;
BEGIN
DELETE FROM employees
WHERE department_id = deptno;
END;
/
Curseur SQL
• Un curseur est un pointeur vers la zone de mémoire privée allouée par le serveur Oracle.
• Il existe deux types de curseur :
– Curseurs implicites : créés et gérés en interne par le serveur Oracle afin de traiter les instructions SQL
– Curseurs explicites : déclarés explicitement par le programmeur
…….
Interagir avec le serveur Oracle (341.26 KB) (Cours PDF)