Académique Documents
Professionnel Documents
Culture Documents
Auteur
Razvan Bizoi
GUIDE DE FORMATION
Ce pictogramme mrite une explication. Son objet est dalerter le lecteur sur la menace
que reprsente pour lavenir de lcrit, particulirement dans le domaine de ldition
technique et universitaire, le dveloppement massif du photocopillage.
Le Code de la proprit intellectuelle du 1er juillet 1992 interdit en effet expressment
la photocopie usage collectif sans autorisation des ayants droit. Or, cette pratique sest
gnralise dans les tablissements denseignement suprieur, provoquant une baisse
brutale des achats de livres et de revues, au point que la possibilit mme pour les
auteurs de crer des uvres nouvelles et de les faire diter correctement est aujourdhui
menace.
En application de la loi du 11 mars 1957 , il est interdit de reproduire intgralement ou partiellement le
prsent ouvrage sans autorisation de l'diteur ou du Centre Franais dExploitation du Droit de Copie, 20
rue des Grands-Augustins, 75006 Paris.
Avant-propos
Avant-propos
Les ateliers de fin de chapitre contiennent des QCM dont vous pourrez trouver les
corrigs sur le site www.tsoft.fr. Pour tlcharger le fichier des corrigs, allez la
page de prsentation du support Oracle 10g PL/SQL, puis cliquez sur longlet Zone
tlchargement et choisissez le fichier corrig QCM.
Table
des matires
PRAMBULE ................................................................................................1
MODULE 1 : PRSENTATION DU PL/SQL ................................................... 1-1
Pourquoi PL/SQL ..................................................................................................................1-2
Architecture PL/SQL.............................................................................................................1-3
La syntaxe PL/SQL ...............................................................................................................1-4
Structure de bloc....................................................................................................................1-6
Bloc imbriqu ........................................................................................................................1-9
Sortie l'cran .....................................................................................................................1-10
Oracle SQL Developer ........................................................................................................1-12
SQL Developer ....................................................................................................................1-16
Atelier ..................................................................................................................................1-18
T-1
T-2
T-3
T-4
T-5
Contenu
Noms de variables
Les enregistrements
Types de donnes
Les collections
Dclaration de variables
Variables de liaison
Variables bases
Atelier 2-1
Atelier 2-2
2-1
Noms de variables
Noms de variables
BLOC PL/SQL
DECLARE
Variable ...
BEGIN
...
EXCEPTION
...
END;
TSOFT - ORACLE 10g SQL et PL*SQL
Ce chapitre dcrit les diffrents types de donnes utilisables, ainsi que les faons de
les nommer.
Dans un programme PL/SQL vous avez besoin de manipuler des chanes de texte,
nombres, valeurs boolennes, enregistrements, tableaux, dates, etc. La manipulation
est possible grce des conteneurs pour ces valeurs de travail, ces conteneurs sont des
variables.
L'utilisation des variables est diverse; elles peuvent servir stocker des donnes
rcupres dans les colonnes de tables, ou conserver des rsultats de calculs internes
au programme. Les variables peuvent tre scalaires (une valeur simple) ou composes
(de valeurs ou composants divers).
La variable est une zone mmoire nomme permettant de stocker une valeur, elle est
dfinie par son nom, son type et sa valeur.
Le nom d'une variable PL/SQL (galement appel son identifiant) doit respecter les
conditions suivantes :
La longueur ne doit pas dpasser trente caractres.
Il est compos des lettres A
Z et a
z, chiffres 0
9, $ , _ ou # .
Il doit commencer par une lettre, mais peut tre suivi par un des caractres
autoriss.
Il nest pas un mot rserv.
Attention
Les variables doivent tre obligatoirement dclares avant leur utilisation.
En effet la section de dclaration DECLARE d'un bloc PL/SQL est optionnelle.
Toutefois, vous devez dclarer toutes les variables et les constantes auxquelles se
rfrent les instructions.
2-2
Conseil
Vous pouvez utiliser les caractres accentus mais il faut savoir que tous les
environnements SQL*Plus ne les acceptent pas.
Ainsi il est prfrable de ne pas les utiliser pour pouvoir avoir des scripts compatibles
tous les environnements.
2-3
Types de donnes
Types de donnes
Scalaires
Composs
Rfrences
Grand objets
Toute constante, toute variable utilise dans un programme possde un type. Le type
de donnes dfinit le format de stockage, les restrictions d'utilisation de la variable, et
les valeurs qu'elle peut prendre.
Le programmeur PL/SQL dispose de l'ensemble des types utilisables dans la dfinition
des colonnes des tables dans le but de faciliter les changes de donnes entre les tables
et les blocs de code.
Le langage PL/SQL est structur en quatre catgories de types de donnes :
Scalaires
Composs
Rfrences
Grands objets
2-4
Types Numriques
DATE
INTERVAL DAY TO SECOND
INTERVAL YEAR TO MONTH
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONES
BINARY_DOUBLE
BINARY_FLOAT
BINARY_INTEGER
DEC
DECIMAL
DOUBLE PRECISION
FLOAT
INT
INTEGER
NATURAL
NATURALN
NUMBER
NUMERIC
PLS_INTEGER
POSITIVE
POSITIVEN
REAL
SIGNTYPE
SMALLINT
Types ROWID
Types caractres
ROWID
UROWID
CHAR
CHARACTER
LONG
NCHAR
NVARCHAR2
STRING
VARCHAR
VARCHAR2
Types RAW
ROW
LONG ROW
Types LOB
BFILE
BLOB
CLOB
NCLOB
Types boolens
BOOLEAN
Types numriques
NUMBER (P,S)
Une variable acceptant la valeur zro ainsi que des nombres ngatifs et positifs. La
prcision maximum de NUMBER , est de 38 chiffres de 10-130 10126.
Valeur
daffectation
Dclaration
7456123.89
NUMBER
7456123.89
7456123.89
NUMBER(9)
7456124
7456123.89
NUMBER(9,2)
7456123.89
7456123.89
NUMBER(9,1)
7456123.9
7456123.89
NUMBER(6)
7456123.89
NUMBER(7,-2)
7456100
7456123.89
NUMBER(7,2)
.01234
NUMBER(4,5)
.01234
.00012
NUMBER(4,5)
.00012
.000127
NUMBER(4,5)
.00013
.0000012
NUMBER(2,7)
.0000012
.00000123
NUMBER(2,7)
.0000012
2-5
BINARY_FLOAT
BINARY_DOUBLE
Lentier maximum
1.79e308
3.4e38
Lentier minimum
-1.79e308
-3.4e38
2.3e-308
1.2e-38
-2.3e-308
-1.2e-38
Pour traiter les valeurs numriques virgule flottante, Oracle fournit un ensemble de
constantes.
Constante
Description
BINARY_FLOAT_NAN
Pas un numrique
BINARY_FLOAT_INFINITY
Infini
BINARY_FLOAT_MAX_NORMAL
3.40282347e+38
BINARY_FLOAT_MIN_NORMAL
1.17549435e-038
BINARY_FLOAT_MAX_SUBNORMAL
1.17549421e-038
BINARY_FLOAT_MIN_SUBNORMAL
1.40129846e-045
BINARY_DOUBLE_NAN
Pas un numrique
BINARY_DOUBLE_INFINITY
Infini
BINARY_DOUBLE_MAX_NORMAL
1.7976931348623157E+308
BINARY_DOUBLE_MIN_NORMAL
2.2250738585072014E-308
BINARY_DOUBLE_MAX_SUBNORMAL
2.2250738585072009E-308
BINARY_DOUBLE_MIN_SUBNORMAL
4.9406564584124654E-324
BINARY_INTEGER
Nombre entier sign compris entre -2 147 483 647 +2 147 483 647.
Il y a plusieurs types drivs qui possdent le mme format de stockage que
BINARY_INTEGER, mais nautorisent quun sous-ensemble des valeurs.
Type drivs
Valeurs autorises
NATURAL
NATURALN
POSITIVE
POSITIVEN
SIGNTYPE
-l , 0 ,1
PLS_INTEGER
2-6
Types caractres
partir de la version Oracle9i il est possible dutiliser dans la dclaration dune
variable de type chane de caractres largument BYTE ou largument
CHAR . Pour des jeux de caractres o le codage dun caractre correspond un
byte, il ny a aucune diffrence. En revanche pour des jeux de caractres o le codage
est suprieur un byte, il faut utiliser largument CHAR . Il vous permet de
dfinir le nombre de caractres que vous voulez stocker et Oracle ajuste
automatiquement la taille suivant le jeu de caractres national.
Largument BYTE est utilis uniquement dans le cas o vous utilisez un jeu de
caractres classiques et pour la compatibilit. Par contre, cest largument par dfaut.
VARCHAR2(L [CHAR | BYTE])
Chane de caractres de longueur variable comprenant au maximum 4000 bytes. L
reprsente la longueur maximale de la variable. CHAR ou BYTE spcifie
respectivement si L est mesur en caractres ou en bytes.
CHAR(L [CHAR | BYTE])
Chane de caractres de longueur fixe avec L comprenant au maximum 2000 bytes. Si
aucune taille maximale n'est prcise alors la valeur utilise par dfaut est 1. Loption
BYTE est identique celle de VARCHAR2 .
NCHAR(L [CHAR | BYTE])
Chane de caractres de longueur fixe pour des jeux de caractres multi octets pouvant
atteindre 4000 bytes selon le jeu de caractres national.
NVARCHAR2(L [CHAR | BYTE])
Chane de caractres de longueur variable pour des jeux de caractres multi octets
pouvant atteindre 4000 bytes selon le jeu de caractres national.
Grand objets
BLOB
Binary Large Object (grand objet binaire), donnes binaires non structures avec une
longueur maximale denregistrement pouvant atteindre (4Gb 1) * (la taille du bloc).
CLOB
Character Large Object (grand objet caractre), chane de caractres avec une
longueur maximale denregistrement pouvant atteindre (4Gb 1) * (la taille du bloc).
NCLOB
Type de donne CLOB pour des jeux de caractres multi-octets avec une
longueur maximale denregistrement pouvant atteindre (4Gb 1) * (la taille du bloc).
BFILE
Fichier binaire externe dont la taille maximale dun enregistrement peut atteindre 4Gb.
Il est stock dans des fichiers extrieurs la base de donnes.
LONG
Champ de longueur variable pouvant atteindre 2 Gb.
LONG RAW
Champ de longueur variable utilis pour stocker des donnes binaires et pouvant
atteindre 2 Gb.
2-7
Types date/heure
DATE
Une variable de longueur fixe de 7 octets utilise pour stocker n'importe quelle date,
incluant l'heure.
INTERVAL DAY TO SECOND
Intervalle de temps fix 11 octets et exprim en jours, heures, minutes et secondes.
Un littral entier entre 0 et 9 doit tre utilis pour spcifier le nombre de chiffres
accepts pour reprsenter les jours et les secondes (2 et 6 tant respectivement les
valeurs par dfaut).
INTERVAL YEAR TO MONTH
Intervalle de temps fix 5 octets et exprim en annes et en mois. Un littral entier
entre 0 et 4 doit tre utilis pour spcifier le nombre de chiffres accepts pour
reprsenter les annes (2 tant la valeur par dfaut).
TIMESTAMP[(P)]
Valeur de 7 11 octets reprsentant une date et une heure, incluant des fractions de
seconde, et se fondant sur la valeur d'horloge du systme d'exploitation. Une valeur de
prcision P un entier de 0 9 (6 tant la prcision par dfaut) - permet de choisir le
nombre de chiffres voulus dans la partie dcimale des secondes.
TIMESTAMP[(P)] WITH TIME ZONE
Valeur fixe 13 octets reprsentant une date et une heure, avec un paramtre de zone
horaire associ. La zone horaire peut tre exprime sous la forme d'un dcalage par
rapport l'heure universelle (UTC), tel que "-5:0", ou d'un nom de zone, tel que
"US/Pacific".
TIMESTAMP[(P)] WITH LOCAL TIME
Valeur de 7 11 octets semblable TIMESTAMP WITH TIME ZONE, sauf que la
date est ajuste par rapport la zone horaire de la base de donnes lorsqu'elle est
stocke, puis adapte celle du client lorsqu'elle est extraite.
Type boolen
BOOLEAN
Stocke des valeurs logiques TRUE , FALSE ou la valeur NULL .
Types ROWID
ROWID
Le type ROWID est une chane de caractres encods en base 64 gnralement
utilis pour reprsenter un identifiant de ligne. Le ROWID dsigne galement une
pseudocolonne qui contient ladresse physique de chaque enregistrement.
Les donnes de type ROWID s'affichent en utilisant un schma d'encodage en
base 64 qui se dcompose comme suit :
SSSSSS
2-8
RRR
2-9
Dclaration de variables
Dclaration de variables
BLOC PL/SQL
DECLARE
Variable ...
BEGIN
...
EXCEPTION
...
END;
TSOFT - ORACLE 10g SQL et PL*SQL
Les variables sont dclares dans la section DECLARE du bloc PL/SQL laide de la
syntaxe suivante :
Nom_Variable [CONSTANT] TYPE [NOT NULL]
[{DEFAULT | :=} VALEUR] ;
Nom_Variable
TYPE
CONSTANT
NOT NULL
:= VALUE
SQL> declare
2
utilisateur_id number
:= UID;
3
utilisateur
varchar2(12) := USER;
4
date_du_jour
date
:= SYSDATE;
5 begin
6
dbms_output.put_line( ' L''identifiant de l''utilisateur : '
7
||uid||' Utilisateur : '||utilisateur);
8
dbms_output.put_line( ' Aujourd''hui : '||date_du_jour);
9
utilisateur
:= 'Razvan BIZOI';
10
dbms_output.put_line( ' Utilisateur : '||utilisateur);
11 end;
12 /
L'identifiant de l'utilisateur : 64 Utilisateur : STAGIAIRE
Aujourd'hui : 29/05/06
2-10
Dans lexemple prcdent vous pouvez voir la dclaration des trois variables de type
numrique, chane de caractres et date. Les variables ont t initialises directement
dans la commande de dclaration. La premire ligne affiche est une concatnation de
lensemble des trois variables avec plusieurs constantes de chanes de caractres.
La variable utilisateur est assigne avec une nouvelle valeur, vous pouvez remarquer
que loprateur daffectation est := .
SQL> declare
2
utilisateur CONSTANT varchar2(12) DEFAULT 'Razvan BIZOI';
3 begin
4
utilisateur := USER;
5
dbms_output.put_line( ' Utilisateur : '||utilisateur);
6 end;
7 /
utilisateur := USER;
*
ERREUR la ligne 4 :
ORA-06550: Ligne 4, colonne 3 :
PLS-00363: expression 'UTILISATEUR' ne peut tre utilise comme
cible
d'affectation
ORA-06550: Ligne 4, colonne 3 :
PL/SQL: Statement ignored
2-11
automatiquement,
pour
une
variable,
SQL> declare
2
var1 varchar2(10) := var2;
3
var2 varchar2(10) := 'Valeur variable';
4 begin
5
dbms_output.put_line( var1||var2);
6 end;
7 /
var1 varchar2(10) := var2;
*
ERREUR la ligne 2 :
ORA-06550: Ligne 2, colonne 24 :
PLS-00320: dclaration de type de cette expression est incomplte ou
mal
structure
ORA-06550: Ligne 2, colonne 8 :
PL/SQL: Item ignored
ORA-06550: Ligne 5, colonne 25 :
PLS-00320: dclaration de type de cette expression est incomplte ou
mal structure
ORA-06550: Ligne 5, colonne 3 :
PL/SQL: Statement ignored
2-12
Atelier 2
Atelier 24.2
Dure : 15 minutes
TSOFT - ORACLE 10g SQL et PL*SQL
Questions
2.2-1.
I.
J.
2-13
SYSDATE + 10 + 2.5f
Exercice n1
2-14
Index
IIndex
!
B
%
%FOUND......................................................................5-15
%ISOPEN .....................................................................5-15
%NOTFOUND .............................................................5-15
%ROWCOUNT ............................................................5-15
%ROWTYPE ...................................... 2-33, 5-8, 8-14, 9-15
%TYPE ..............................................................2-32, 10-18
/
/(barre oblique)................................................................1-7
~
~=(diffrent de) ...............................................................4-3
<
<(infrieur ) ...................................................................4-3
<=(infrieur ou gal) .......................................................4-3
<>(diffrent de) ...............................................................4-3
=
=(gal) .............................................................................4-3
=>(association par nom)................................................5-10
>
>=(suprieur ou gal) ......................................................4-3
A
ACESS_INTO_NULL ....................................................6-8
AFTER.................................................. 9-4, 9-6, 9-11, 9-15
ALTER
PACKAGE ...............................................................8-24
AND................................................................................4-3
C
CALL............................................................................ 7-14
CASE....................................................................... 4-7, 4-9
CASE_NOT_FOUND .................................................... 6-8
Classe............................................................................ 10-7
COLECTION_IS_NULL................................................ 6-8
COMMIT......................................................1-8, 5-27, 7-13
COMPILE..................................................................... 8-24
CONSTANT ................................................................. 2-10
CONSTRUCTOR ............................................ 10-11, 10-14
COUNT ........................................................................ 2-31
CREATE
DIRECTORY ........................................................... 11-7
FUNCTION.............................................................. 7-16
PACKAGE ................................................................. 8-4
PACKAGE BODY............................................ 8-9, 8-21
PROCEDURE .......................................................... 7-12
TABLE................................................................... 10-37
TABLE OF............................................................. 10-42
TRIGGER .................................................................. 9-4
TYPE...................................................................... 10-10
TYPE BODY.......................................................... 10-15
CURRENT OF.............................................................. 5-31
I-1
Index
CURSOR................................................................5-7, 5-26
CURSOR_ALREADY_OPEN........................................6-8
D
DBMS_JOB
BROKEN................................................................11-16
CHANGE................................................................11-16
INTERVAL ............................................................11-16
NEXT_DATE .........................................................11-16
REMOVE ...............................................................11-16
RUN........................................................................11-16
SUBMIT .................................................................11-14
WHAT ....................................................................11-16
DBMS_METADATA
GET_DDL ..............................................................11-17
GET_DEPENDENT_DDL .....................................11-17
GET_DEPENDENT_XML ....................................11-17
GET_XML..............................................................11-17
DBMS_OUTPUT
DISABLE .................................................................11-3
ENABLE ..................................................................11-3
GET_LINE ...............................................................11-5
GET_LINES .............................................................11-5
NEW_LINE ..............................................................11-4
PUT...........................................................................11-4
PUT_LINE.......................................................1-10, 11-4
DBMS_STANDARD....................................................6-17
DECLARE .............................................. 1-6, 5-7, 6-5, 7-13
DEFAULT ....................................................................7-33
DELETE..........................2-31, 3-11, 3-12, 3-15, 5-31, 9-21
DELETING...................................................................9-21
DEREF........................................................................10-47
DISTINCT ....................................................................9-26
DROP
FUNCTION ..............................................................7-23
PACKAGE ...............................................................8-25
PROCEDURE...........................................................7-23
DUP_VAL_ON_INDEX ................................................6-9
E
ELSE ...............................................................................4-8
END .......................................................................1-6, 7-14
EXCEPTION ........................................ 1-7, 6-5, 6-15, 7-13
EXCEPTION_INIT........................................ 1-8, 6-4, 6-13
EXECUTE IMMEDIATE.............................................3-19
EXISTS ..................................................................2-31, 6-8
EXIT .............................................................................4-11
EXTEND.....................................................................10-34
F
FETCH....................................................... 5-12, 5-13, 5-27
FINAL..............................................................10-11, 10-26
FIRST.................................................................2-31, 10-32
Fonction Bloc Fonction...................................................7-2
FOR......................................................................4-14, 5-22
FOR UPDATE ..............................................................5-26
FOR UPDATE OF ........................................................5-29
FORALL .......................................................................4-16
I-2
G
GROUP BY .................................................................. 9-26
H
Hritage ........................................................................ 10-9
I
IF-THEN......................................................................... 4-4
IF-THEN-ELSE....................................................... 4-3, 4-5
IF-THEN-ELSIF............................................................. 4-5
IN OUT.................. 3-20, 3-22, 5-36, 7-12, 7-26, 7-30, 7-31
IN_..................3-20, 3-22, 4-3, 5-36, 7-12, 7-26, 7-28, 7-31
INDEX BY .......................................................... 2-26, 2-30
INSERT ...............................................3-7, 3-12, 3-14, 9-21
INSERTING ................................................................. 9-21
Instance......................................................................... 10-7
Instanciation................................................................ 10-14
INSTANTIABLE ....................................................... 10-26
INSTEAD OF ........................................................ 9-4, 9-26
INTERSECT................................................................... 5-7
INTO....................................................3-2, 3-19, 3-23, 5-12
INVALID_CURSOR...................................................... 6-9
INVALID_NUMBER..................................................... 6-9
IS DANGLING........................................................... 10-47
IS NULL ......................................................................... 4-3
IS_ ........................................... 7-13, 8-4, 8-9, 10-11, 10-15
L
LAST ................................................................. 2-31, 10-32
LIKE ............................................................................... 4-3
LOGIN_DENIED ........................................................... 6-9
LOOP................................................................... 4-11, 5-22
M
MAP ........................................................................... 10-19
MEMBER................................................................... 10-11
MESSAGE.................................................................... 6-17
Mthode ........................................................................ 10-8
MINUS .................................................................. 5-7, 9-26
N
NEW ...........................................................9-14, 9-15, 9-19
NEXT ................................................................ 2-31, 10-35
NO_DATA_FOUND............................................... 6-6, 6-9
NOCOPY...................................................................... 7-31
NOT................................................................................ 4-4
NOT FINAL ............................................................... 10-26
NOT INSTANTIABLE .............................................. 10-26
NOT NULL ......................................................... 2-10, 2-23
NOT_LOGGED_ON ...................................................... 6-9
NOWAIT ...................................................................... 5-26
NULL ............................................................................. 1-7
Index
O
Objet..............................................................................10-5
OF ........................................................................5-26, 5-29
OLD ........................................................... 9-14, 9-15, 9-19
OPEN .....................................................................5-9, 5-11
OPEN...FOR ........................................................5-34, 5-36
Oprateur
BETWEEN .................................................................4-3
IN_..............................................................................4-3
IS NULL .....................................................................4-3
LIKE ...........................................................................4-3
NOT ............................................................................4-4
OR...............................................................................4-4
OR ...................................................................................4-4
ORDER .......................................................................10-19
OTHERS ........................................................ 6-5, 6-7, 6-11
OUT .......................3-20, 3-22, 5-36, 7-12, 7-26, 7-29, 7-31
OVERRIDING............................................................10-28
P
PACKAGE...........................................................7-10, 7-11
PACKAGE BODY...............................................7-10, 7-11
PL/SQL ...........................................................................1-2
PRAGMA.............................................. 1-7, 6-4, 6-13, 9-24
PRINT ...........................................................................2-14
PRIOR................................................................2-31, 10-35
PROCEDURE ................................. 7-10, 7-11, 7-13, 10-11
PROGRAM_ERROR......................................................6-9
R
RAISE ..................................................................6-15, 6-17
RAISE_APPLICATION_ERROR ................. 6-4, 6-17, 9-8
RAWTYPE_MISMATCH ..............................................6-9
RECORD ......................................................................2-23
REF .............................................................................10-47
REF CURSOR ..............................................................5-33
REFERENCING ...........................................................9-15
REPLACE. 7-12, 7-16, 7-24, 8-4, 8-9, 8-21, 9-4, 10-10, 1015
RETURN...........................5-7, 5-8, 7-17, 7-20, 8-13, 10-16
RETURNING.......................................................3-14, 3-15
ROLLBACK ..........................................................1-8, 5-27
ROW .............................................................................3-10
RUN ................................................................................1-7
S
SELECT
BULK COLLECT INTO ............................................3-4
Curseur......................................................................5-34
INTO....................................................................3-2, 3-4
SELF .................................................... 10-11, 10-17, 10-20
SELF_IS_NULL .............................................................6-9
SET SERVEROUTPUT
OFF..................................................................1-10, 11-3
ON ...................................................................1-10, 11-3
SHOW ERRORS ............................................................7-9
SQL dynamique ............................................................3-19
SQLCODE.................................................................... 6-11
SQLERRM .......................................................... 6-11, 6-17
STANDARD ......................................................... 6-8, 6-16
START WITH .............................................................. 9-26
STATIC ...................................................................... 10-11
STORAGE_ERROR....................................................... 6-9
SUBSCRIPT_BEYOND_COUNT ............................... 6-10
SUBTYPE .................................................................... 2-20
T
TABLE .............................................................. 2-26, 10-31
THEN ............................................................................. 6-5
TIMEOUT_ON_RESOURCE ...................................... 6-10
TOO_MANY_ROWS .................................................. 6-10
TRIGGER............................................................ 7-10, 7-11
TRIM ............................................................................ 2-31
TYPE
CURSOR.................................................................. 8-13
RECORD.................................................................. 2-23
REF CURSOR.......................................................... 5-33
TABLE.......................................................... 2-26, 10-31
VARRAY ................................................................. 2-30
Type de donne
BFILE......................................................................... 2-7
BINARY_DOUBLE .................................................. 2-6
BINARY_FLOAT...................................................... 2-6
BINARY_INTEGER......................................... 2-6, 2-26
BLOB ......................................................................... 2-7
CHAR......................................................................... 2-7
CLOB ......................................................................... 2-7
DATE ......................................................................... 2-8
INTERVAL DAY TO SECOND ............................... 2-8
INTERVAL YEAR TO MONTH .............................. 2-8
Le tableau associatif ....................2-25, 2-26, 2-30, 10-31
Le tableau imbrique....................................... 2-25, 10-31
Le tableau pr-dimensionns ........................... 2-25, 2-30
LONG......................................................................... 2-7
LONG RAW .............................................................. 2-7
NCHAR...................................................................... 2-7
NCLOB ...................................................................... 2-7
NUMBER................................................................... 2-5
NVARCHAR2 ........................................................... 2-7
PLS_INTEGER................................................. 2-6, 2-26
ROWID ...................................................................... 2-8
TABLE.................................................2-26, 2-30, 10-31
TIMESTAMP............................................................. 2-8
TIMESTAMP WITH LOCAL TIME......................... 2-8
TIMESTAMP WITH TIME ZONE ........................... 2-8
UROWID ................................................................... 2-9
VARCHAR2 ..................................................... 2-7, 2-27
VARRAY ........................................................ 2-25, 2-30
U
UNDER ...................................................................... 10-11
UNION .................................................................. 5-7, 9-26
UNION ALL................................................................. 9-26
UPDATE ................................... 3-9, 3-12, 3-15, 5-31, 9-21
UPDATING.................................................................. 9-21
USER_ERRORS............................................................. 7-9
I-3
Index
W
WAIT............................................................................ 5-27
WHEN ........................................... 4-11, 6-5, 6-6, 9-4, 9-19
WHERE CURRENT OF .............................................. 5-31
WHILE ......................................................................... 4-13
V
VALUE .......................................................................10-46
VALUE_ERROR..........................................................6-10
Variables de liaison .......................................................2-13
I-4
Z
ZERO_DIVIDE ............................................................ 6-10
Avis du lecteur
Critiques et suggestions