« G51

Vendredi 05 octobre 2007

Etapes de la journée

Cours

Cf. Notes + polycopié sur Les options procédurales

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 :

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

  1. Déclaration du curseur
  2. Ouverture
  3. Traitement
  4. 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/ .

« G51