© Éditions Eyrolles
225
chapitre n° 6
Bases du langage de programmation
dans le bloc qui contient l’instruction INSERT, la première exception fera s’interrompre le
programme.
Modifications
Concernant la mise à jour de colonnes par UPDATE, la clause SET peut être ambiguë dans le
sens où l’identificateur à gauche de l’opérateur d’affectation est toujours une colonne de base
de données, alors que celui à droite de l’opérateur peut correspondre à une colonne ou à une
variable.
UPDATE nomTable
SET col1 = { variable1 | expression1 | autrecol | (requête) }
[,col2 = ...]
[WHERE ... ];
Si aucun enregistrement n’est modifié, aucune erreur ne se produit et aucune exception n’est
levée.
Alors que les affectations dans le code MYSQL (SET …) peuvent s’écrire par les symboles
« := » ou « = », les comparaisons ou affectations SQL nécessitent le symbole « = ».
Le tableau suivant décrit la modification de différents enregistrements (il est aussi possible
d’employer des variables de session).
Tableau 6-20 Insertion d’enregistrements
Code MySQL
Commentaires
BEGIN
DECLARE v_brevet VARCHAR(6) DEFAULT 'PL-7';
DECLARE v_nom
VARCHAR(6);
DECLARE v_HVol
DECIMAL(7,2) DEFAULT 0;
DECLARE v_comp
VARCHAR(6);
Déclaration des variables locales au
bloc.
INSERT INTO Pilote VALUES
;
Insertion d’un enregistrement en renseignant les colonnes par des constantes.
SET v_nom := 'Fabrice Peyrard';
SET v_comp := 'SING';
INSERT INTO Pilote VALUES
;
END;
Insertion d’un enregistrement en renseignant les colonnes par des variables
locales.
Web
('PL-6', 'Jules Ente', 3000, 'AF')
(v_brevet,v_nom,v_HVol,v_comp)
225
chapitre n° 6
Bases du langage de programmation
dans le bloc qui contient l’instruction INSERT, la première exception fera s’interrompre le
programme.
Modifications
Concernant la mise à jour de colonnes par UPDATE, la clause SET peut être ambiguë dans le
sens où l’identificateur à gauche de l’opérateur d’affectation est toujours une colonne de base
de données, alors que celui à droite de l’opérateur peut correspondre à une colonne ou à une
variable.
UPDATE nomTable
SET col1 = { variable1 | expression1 | autrecol | (requête) }
[,col2 = ...]
[WHERE ... ];
Si aucun enregistrement n’est modifié, aucune erreur ne se produit et aucune exception n’est
levée.
Alors que les affectations dans le code MYSQL (SET …) peuvent s’écrire par les symboles
« := » ou « = », les comparaisons ou affectations SQL nécessitent le symbole « = ».
Le tableau suivant décrit la modification de différents enregistrements (il est aussi possible
d’employer des variables de session).
Tableau 6-20 Insertion d’enregistrements
Code MySQL
Commentaires
BEGIN
DECLARE v_brevet VARCHAR(6) DEFAULT 'PL-7';
DECLARE v_nom
VARCHAR(6);
DECLARE v_HVol
DECIMAL(7,2) DEFAULT 0;
DECLARE v_comp
VARCHAR(6);
Déclaration des variables locales au
bloc.
INSERT INTO Pilote VALUES
;
Insertion d’un enregistrement en renseignant les colonnes par des constantes.
SET v_nom := 'Fabrice Peyrard';
SET v_comp := 'SING';
INSERT INTO Pilote VALUES
;
END;
Insertion d’un enregistrement en renseignant les colonnes par des variables
locales.
Web
('PL-6', 'Jules Ente', 3000, 'AF')
(v_brevet,v_nom,v_HVol,v_comp)
