Documente Academic
Documente Profesional
Documente Cultură
Interagir avec
le serveur Oracle
Extraire
Extraire une
une ligne
ligne de
de donnes
donnes partir
partir d'une
d'une base
base
de
de donnes
donnes enen utilisant
utilisant la
la commande
commande SELECT
SELECT
Modifier
Modifier des
des lignes
lignes dede la
la base
base dede donnes
donnes en
en
utilisant
utilisant des
des instructions
instructions LMDLMD
Contrler
Contrler une
une transaction
transaction avecavec la
la commande
commande
COMMIT, ROLLBACK ou
COMMIT, ROLLBACK ou SAVEPOINT
SAVEPOINT
Dterminer
Dterminer lele rsultat
rsultat de
de l'excution
l'excution d'une
d'une
instruction
instruction LMD
LMD avec
avec des
des attributs
attributs de
de curseur
curseur
implicite
implicite
Extraire
Extraire les
les donnes
donnes de
de la
la base
base de
de donnes
donnes l'aide
l'aide
d'une
d'une instruction
instruction SELECT
SELECT
Syntaxe
Syntaxe ::
SELECT select_list
INTO {variable_name[, variable_name]...
| record_name}
FROM table
[WHERE condition];
La
La clause INTO est
clause INTO est obligatoire
obligatoire
Les
Les interrogations
interrogations doivent
doivent renvoyer
renvoyer une
une et
et une
une
seule
seule ligne
ligne
Exemple
Exemple ::
DECLARE
v_deptno NUMBER(4);
v_location_id NUMBER(4);
BEGIN
SELECT department_id, location_id
INTO v_deptno, v_location_id
FROM departments
WHERE department_name = 'Sales';
...
END;
/
DECLARE
hire_date employees.hire_date%TYPE;
sysdate hire_date%TYPE;
employee_id employees.employee_id%TYPE := 176;
BEGIN
SELECT hire_date, sysdate
INTO hire_date, sysdate
FROM employees
WHERE employee_id = employee_id;
END;
/
Modifier
Modifier des
des tables
tables de
de base
base de
de donnes
donnes en
en utilisant
utilisant
les
les instructions
instructions LMD
LMD suivantes
suivantes ::
INSERT
INSERT
UPDATE
UPDATE INSERT
DELETE
DELETE
MERGE M
MERGE UPDATE ER
GE
DELETE
Ajouter
Ajouter les
les informations
informations relatives
relatives un
un nouvel
nouvel
employ
employ la
la table
table EMPLOYEES
EMPLOYEES
Exemple
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;
/
Augmenter
Augmenter lele salaire
salaire de
de tous
tous les
les employs
employs chargs
chargs du
du
contrle
contrle des
des stocks
stocks
Exemple
Exemple ::
DECLARE
v_sal_increase employees.salary%TYPE := 800;
BEGIN
UPDATE employees
SET salary = salary + v_sal_increase
WHERE job_id = 'ST_CLERK';
END;
/
Supprimer
Supprimer lesles lignes
lignes appartenant
appartenant au
au service
service 10
10
partir
partir de
de la
la table
table EMPLOYEES
EMPLOYEES
Exemple
Exemple ::
DECLARE
v_deptno employees.department_id%TYPE := 10;
BEGIN
DELETE FROM employees
WHERE department_id = v_deptno;
END;
/
Utiliser
Utiliser une
une convention
convention d'appellation
d'appellation pour
pour viter
viter
toute
toute ambigut
ambigut dans
dans la
la clause
clause WHERE
WHERE
Les
Les colonnes
colonnes dede base
base de
de donnes
donnes et et les
les
identificateurs
identificateurs doivent
doivent porter
porter des
des noms
noms diffrents
diffrents
Des
Des erreurs
erreurs de
de syntaxe
syntaxe peuvent
peuvent survenir
survenir carcar
PL/SQL
PL/SQL recherche
recherche en en premier
premier lieu
lieu une
une colonne
colonne dede
table
table dans
dans la
la base
base dede donnes
donnes
Les
Les noms
noms des
des variables
variables locales
locales etet les
les paramtres
paramtres
formels
formels ont
ont priorit
priorit sur
sur les
les noms
noms des
des tables
tables de
de la
la
base
base de
de donnes
donnes
Les
Les noms
noms dede colonne
colonne des
des tables
tables de
de la
la base
base de
de
donnes
donnes ontont priorit
priorit sur
sur les
les noms
noms desdes variables
variables
locales
locales
Un
Un curseur
curseur est
est une
une zone
zone de
de travail
travail rserve
rserve SQL
SQL
IlIl existe
existe deux
deux types
types de
de curseur
curseur ::
curseurs
curseurs implicites
implicites
curseurs
curseurs explicites
explicites
Le
Le serveur
serveur Oracle
Oracle utilise
utilise des
des curseurs
curseurs implicites
implicites
pour
pour analyser
analyser etet excuter
excuter les
les instructions
instructions SQL
SQL
Les
Les curseurs
curseurs explicites
explicites sont
sont dclars
dclars de
de manire
manire
explicite
explicite par
par le
le programmeur
programmeur
Grce
Grce aux
aux attributs
attributs d'un
d'un curseur
curseur SQL,
SQL, vous
vous pouvez
pouvez
tester
tester le
le rsultat
rsultat li
li l'excution
l'excution d'instructions
d'instructions SQL
SQL
SQL%ROWCOUNT Nombre de lignes affectes par la
dernire instruction SQL (valeur
entire)
SQL%FOUND Attribut boolen qui prend la valeur
TRUE si la dernire instruction SQL
affecte une ou plusieurs lignes
SQL%NOTFOUND Attribut boolen qui prend la valeur
TRUE si la dernire instruction SQL
n'affecte aucune ligne
SQL%ISOPEN Prend toujours la valeur FALSE car
PL/SQL ferme les curseurs
implicites immdiatement aprs leur
excution
Supprimer
Supprimer lesles lignes
lignes possdant
possdant l'ID
l'ID d'employ
d'employ indiqu
indiqu
dans
dans la
la table EMPLOYEES et
table EMPLOYEES et afficher
afficher le
le nombre
nombre de
de
lignes
lignes supprimes
supprimes
Exemple
Exemple ::
Initialiser
Initialiser une
une transaction
transaction avec
avec la
la premire
premire
instruction
instruction LMD
LMD suivant COMMIT ou
suivant COMMIT ou ROLLBACK
ROLLBACK
Utiliser
Utiliser les
les instructions
instructions SQL COMMIT et
SQL COMMIT et ROLLBACK
ROLLBACK
pour
pour mettre
mettre fin
fin explicitement
explicitement une
une transaction
transaction
Ce
Ce chapitre
chapitre vous
vous aa permis
permis d'apprendre
d'apprendre ::
intgrer
intgrer du
du code
code SQL
SQL dans
dans un
un bloc
bloc PL/SQL
PL/SQL enen
utilisant
utilisant SELECT,
SELECT, INSERT,
INSERT, UPDATE, DELETE et
UPDATE, DELETE et
MERGE
MERGE
intgrer
intgrer des
des instructions
instructions de
de gestion
gestion des
des
transactions
transactions dans
dans un
un bloc
bloc PL/SQL
PL/SQL enen utilisant
utilisant
COMMIT, ROLLBACK et
COMMIT, ROLLBACK et SAVEPOINT
SAVEPOINT
Ce
Ce chapitre
chapitre vous
vous aa appris
appris les
les rgles
rgles suivantes
suivantes ::
ilil existe
existe deux
deux types
types de
de curseur
curseur :: implicites
implicites et
et
explicites
explicites
les
les attributs
attributs d'un
d'un curseur
curseur implicite
implicite permettent
permettent de
de
vrifier
vrifier lele rsultat
rsultat de
de l'excution
l'excution d'instructions
d'instructions
LMD
LMD ::
SQL%ROWCOUNT
SQL%ROWCOUNT
SQL%FOUND
SQL%FOUND
SQL%NOTFOUND
SQL%NOTFOUND
SQL%ISOPEN
SQL%ISOPEN
les
les curseurs
curseurs explicites
explicites sont
sont dfinis
dfinis par
par le
le
programmeur
programmeur
Dans
Dans cet
cet exercice,
exercice, vous
vous allez
allez crer
crer un
un bloc
bloc PL/SQL
PL/SQL pour
pour ::
slectionner
slectionner des
des donnes
donnes dans
dans une
une table
table
insrer
insrer des
des donnes
donnes dans
dans une
une table
table
mettre
mettre jour
jour des
des donnes
donnes dans
dans une
une table
table
supprimer
supprimer un
un enregistrement
enregistrement d'une
d'une table
table