5
5
Mostafa Hanoune
Travailler avec des Types de
données Composés
Travailler avec des Types de
données Composés
Les Bases PL/SQL 5-2
Objectifs
Au cours de ce chapitre, vous allez découvrir les Types de données composés du PL/SQL et leurs
utilisations.
5-2
Mostafa Hanoune
Objectifs
Objectifs
A la fin de ce chapitre, vous saurez :
Créer des Records PL/SQL utilisateur
Créer des Records avec l’attribut
%ROWTYPE
Créer des Tables PL/SQL
Créer des Tables de Records PL/SQL
Savoir faire la distinction entre Records,
Tables, et Tables de Records
A la fin de ce chapitre, vous saurez :
A la fin de ce chapitre, vous saurez :
Créer des Records PL/SQL utilisateur
Créer des Records avec l’attribut
%ROWTYPE
Créer des Tables PL/SQL
Créer des Tables de Records PL/SQL
Savoir faire la distinction entre Records,
Tables, et Tables de Records
Les Bases PL/SQL 5-3
RECORDS et TABLES PL/SQL
Tout comme les variables scalaires, les variables composées sont des Types de données. Les Types de
données composés (également connus sous le nom de collections) peuvent être des RECORD, TABLE,
NESTED TABLE, ou VARRAY. Vous utilisez le type RECORD pour manipuler des données
hétérogènes mais formant une Unité Logique. Vous utilisez le type TABLE pour désigner et manipuler
une collection de données formant un seul et même Objet. Les types NESTED TABLE et les VARRAY
ne sont pas abordés dans ce cours.
Un record est un groupe de données stockés en champs, chaque champ étant caractérisé par son nom et
son type. Une table contient une colonne et une clé primaire donnant accès aux lignes correspondantes.
Une fois définis, les tables et les records peuvent être réutilisés.
Pour en savoir plus, consultez
PL/SQL User’s Guide and Reference, Release 8,“Collections and Records.”
5-3
Mostafa Hanoune
Types de données Composés
Types de données Composés
Types :
PL/SQL RECORDS
PL/SQL TABLES
Contiennent des composantes internes
Sont réutilisables
Types :
PL/SQL RECORDS
PL/SQL TABLES
Contiennent des composantes internes
Sont réutilisables
Les Bases PL/SQL 5-4
PL/SQL Records
Un Record désigne un groupe de données stockés en champs, chaque champ étant caractérisé par son nom
et son type. Par exemple, supposons que vous disposez de plusieurs renseignements au sujet d’un
employé : son nom, son salaire, sa date d’embauche... Ces données sont de nature différente mais sont
reliées entre elles. A l’aide d’un record , vous pouvez traiter ces données comme une Unité Logique.
Quand vous déclarez un type record avec ses champs, ils peuvent être manipuler comme une unité.
Chaque record ainsi défini peut contenir autant de champs que nécessaires.
On peut affecter des valeurs initiales à un record et le définir comme NOT NULL.
Les champs sans valeur initiale, sont initialisés à NULL
Vous pouvez utiliser le mot-clé DEFAULT pour initialiser les champs.
Vous pouvez définir des types RECORD dans la partie déclarative des blocs PL/SQL, des sous-
programmes ou des packages.
Vous pouvez déclarer et utiliser des records imbriqués. Un record peut être le composant d’un autre
record.
5-4
Mostafa Hanoune
PL/SQL Records
PL/SQL Records
Ils sont composés d’un ou plusieurs
Champs de types : scalaire, RECORD, ou
PL/SQL TABLE
Ils ont une structure semblable aux
Records rencontrés en L3G
Ils sont différents des lignes d’une table
de la base de données
Ils traitent un ensemble de Champs
comme une Unité Logique
Ils sont pratiques pour extraire et
manipuler une ligne d’une table de la base
Ils sont composés d’un ou plusieurs
Champs de types : scalaire, RECORD, ou
PL/SQL TABLE
Ils ont une structure semblable aux
Records rencontrés en L3G
Ils sont différents des lignes d’une table
de la base de données
Ils traitent un ensemble de Champs
comme une Unité Logique
Ils sont pratiques pour extraire et
manipuler une ligne d’une table de la base
Les Bases PL/SQL 5-5
Définir et Déclarer un Record PL/SQL
Pour créer un record, vous devez d’abord définir un type RECORD et ensuite déclarer des RECORDS
utilisant ce type.
Dans la syntaxe,
type_name est le nom du type RECORD (Cet identifiant est utilisé pour déclarer
des records).
field_name est le nom d’un champ composant la structure
field_type est le type de données du champ (Ce peut être n’importe quel type de
données PL/SQL sauf des REF CURSOR. Vous pouvez utiliser les
attributs %TYPE et %ROWTYPE).
expr C’est le field_type ou une valeur initiale
La contrainte NOT NULL évite de se retrouver avec des champs NULL et force leur initialisation.
5-5
Mostafa Hanoune
Créer un Record PL/SQL
Créer un Record PL/SQL
Syntaxe
field_declaration est
Syntaxe
Syntaxe
O
Où
ùfield_declaration
field_declaration est
est
TYPE type_name IS RECORD
(field_declaration[, field_declaration]…);
identifier type_name;
field_name {field_type |variable%TYPE
|table.column%TYPE |table%ROWTYPE}
[[NOT NULL] {:= | DEFAULT} expr]
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !