Vendredi 05 octobre 2007
Etapes de la journée
- Ne m’en souviens plus depuis le temps :-S
Cours
Cf. Notes + polycopié sur Les options procédurales
- <img style######’’ src’/img/cours/0708/g51/licencetd01.pdf | TD01'>
Exercices
Cf Exercice nommé (en petites lettres) : Mise en place d’une base de données, avec l’étude de fichiers qui permettent une installation quasie automatique d’une base de données (à l’aide de batch, de fichiers sql, etc …).
Notes
PL/SQL = langage propriétaire d’Oracle
Pour les déclencheurs on peut mettre du C, du Java ou du PL/SQL dans les BDD Oracle.
Developpez.Com => Cours PL/SQL très bon !
Dans PL/SQL = aucune entrées/sorties On a donc ni de LDD (###### Alter, Create, Rename) ni de LCD ( Grant et Revoke)
Structure de BLOC
DECLARE
Déclaration de variables
BEGIN
Section obligatoire avec commandes éxécutables
Instruction PL / SQL
Possibilités de bloc-fils (imbrication de blocs)
EXCEPTION
Traitement des exceptions
END
%TYPE : reprend le type d’une variable
%ROWTYPE : reprend la structure entière
Select … into : Le select doit retourner 1 et 1 seule erreur, sinon il faut procéder autrement
Tableaux :
- TABLE : tables/tableaux
- RECORD : Enregistrements
Les collections sont possibles, et dans Oracle quelques notions sont implémentées.
Structure de contrôle
IF
ELSE
ELSIF
ELSE
END IF
LOOP
END LOOP
FOR … IN … LOOP : pas besoin de déclarer la variable après le FOR !
END LOOP
WHILE … LOOP
END LOOP
Curseur = technique de programmation pour récupérer des lignes
En ORACLE = accès en mémoires, méthodes, etc …
Curseurs explicites : que nous déclarons dans une commande
Curseurs implicites : déclaré systématiquement par le noyau et on peut tester si tout s’est bien passé
Balayage de 1 n : donc dans un seul sens => traitement de fichiers séquentiels bête et simple
Étapes d’utilisation
- Déclaration du curseur
- Ouverture
- Traitement
- Fermeture du curseur
4 attributs permettent de nous renseigner sur nos curseurs.
Verrou d’intention : for update of colonne
Code
ACCEPT numero PROMPT "Numéro de l'employé: "
Dans SQLPlus cela permet de récupérer ce que l’utilisateur a entré après la phrase “Numéro de l’employé”
Exemple :
EXCEPTION
WHEN OTHERS THEN
code_erreur := sqlcode;
message_erreur := sqlerrm
Déclarer des procédure : PROCEDURE
Documents
Récupérer le tout sur https://pipit.u-strasbg.fr/~laffargue/ .