Table des matières
Oracle
Oracle est un système de gestion de base de données relationnel (SGBDR) fourni par Oracle Corporation. Il a été développé par Lawrence Ellison, accompagné d'autres personnes telles que Bob Miner et Ed Oates1)).
Autres pages
Types de données
CHAR(n)
→ Chaine de caractères de longueur fixe.VARCHAR2(n)
→ Chaîne de caractères de longueur varibale au plus den
caractères.NCHAR(n)
NVARCHAR2(n)
NUMBER(p,s)
→ nombre de longueur maximum dep
chiffres incluant le nombre de chiffres décimauxs
.DATE
BLOB
→ Données binaires brutes
Opération
Exemples de code SQL qui s'applique à Oracle.
Create
CREATE TABLE "Personnes" ( "noPersonne" NUMBER(10) NULL, "nom" VARCHAR2(50) NOT NULL, "prenom" VARCHAR2(50) NOT NULL, "naissance" DATE NOT NULL, PRIMARY KEY ("noPersonne") );
Création d'une séquence / auto increment
Si par exemple une séquence a été créée tel que :
CREATE SEQUENCE Seq_Clients INCREMENT BY 1 START WITH 1 MAXVALUE 100000;
L'insertion se fera comme suit :
INSERT INTO Clients VALUES (Seq_Clients.NEXTVAL, 'Smith','Toronto', '416-245-7864','3245,Premiere rue','Ontario','K1Y3U8','Canada');
Insert
INSERT INTO city (province, nom) VALUES ('QC', 'Montréal');
SQL*Plus
L'outil SQL*Plus permet de gérer les bases de données Oracle. Il est possible avec cet outil de lancer les requêtes SQL pour gérer les utilisateurs, les tables et les requêtes.
Ouverture d'une session
SQL*Plus permet, soit de se connecter en mode texte à partir de l'invite du système d'exploitation, soit d'utiliser une interface graphique de connexion.
- Sous une ligne de commande on peut exécuter :
sqlplus [-S] [nom_utilisateur[/mot_de_passe[@alis_BDD]]]
. - En mode graphique, SQL*Plus se trouve dans le groupe Oracle du menu Démarrer.
- Si toutes les informations sont corrects, SQL*Plus affiche l'invite
SQL>
et est prêt à recevoir une commande.
Fermeture de session
- Pour fermer une session, taper
EXIT
ouQUIT
- En mode graphique, simplement fermer l'application SQL*Plus dans le menu Fichier → Quitter.
La fermeture de session SQL*Plus entraîne la déconnexion de la base. Les transactions en suspens sont enregistrés dans la BD avant la déconnexion par défaut. Pour annuler les transactions en cours, il faut exécuter la commande suivante : EXIT ROLLBACK
.
Pour effectuer la deconnexion à la BD sans quitter SQL*Plus, il faut utiliser la commande DISCONNECT
.
Interaction avec la base de données
COMMIT
La commande COMMIT
permet de rendre permanent les changements faits à la base de données. Ces changements sont alors visibles aux autres sessions. Le mot clé WORK
est optionnel et permet seulement une meilleure lisibilité, même s'il est rarement utilisé. Le COMMENT
est aussi optionnel et peut être d'une longueur maximum de 50 caractères.
COMMIT [WORK] [COMMENT text];
ROLLBACK
ROLLBACK
permet d'annuler les changements soit du début de la transaction ou du dernier point de sauvegarde (SAVEPOINT
).
ROLLBACK [WORK] [TO [SAVEPOINT] savepoint_name];
SAVEPOINT
Cette instruction établi un point de sauvegarde dans la transaction courante. L'identifiant savepoint_name n'est pas séclaré. Plus d'un point de sauvegarde peut être créé dans une transaction. Si le nom d'un point de sauvegarde (savepoint_name) est réutilisé, le point de sauvegarde est déplacé à la dernière position et il ne sera pas possible de retourner au point de sauvegarde initial.
SAVEPOINT savepoint_name;
Langage SQL d'Oracle
Il s'agit du SQL de base à la sauce Oracle. Voir aussi PL/SQL.
Outer join
Erreurs
ORA-12705
La solution → Renommer la clé NLS_LANG
dans \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
pour qu'elle ne soit plus utilisée.
ORA-12541
TNS no listener
Il faut habituellement démarrer l'écouteur d'Oracle.
- Aller dans l'invite de commande Windows
- Taper
lsnrctl start
puis Retour - Si
start
n'a pas été tapé à l'étape précédente, à l'inviteLSNRCTL>
, taperstart
ouhelp
pour de l'aide.