Type typSpecialite : <domaine:char, specialite:char>
Type typListeSpecialites : collection de <typSpecialite>
tIntervenant (#nom:char, prenom:char, lspecialites:typListeSpecialites)
Syntaxe : Implémentation des collections de scalaires sous forme de tables imbriquées en SQL3
-- Déclaration d'une table imbriquant une autre table
5
CREATETABLE nom_table_principale (
6
nom_attribut type_attribut,
7
...
8
nom_attribut_table_imbriquée liste_nom_type,
9
...
10
)
11
NESTED TABLE nom_attribut_table_imbriquée STORE AS nom_table_stockage;
-- Déclaration d'un type abstrait de collection
CREATE TYPE liste_nom_type AS TABLE OF nom_type_scalaire;
-- Déclaration d'une table imbriquant une autre table
CREATE TABLE nom_table_principale (
nom_attribut type_attribut,
...
nom_attribut_table_imbriquée liste_nom_type,
...
)
NESTED TABLE nom_attribut_table_imbriquée STORE AS nom_table_stockage;
Exemple : Gestion d'attribut multivalué par imbrication de collection de scalaires
NESTED TABLE ltelephones STORE AS tIntervenant_nt1;
CREATE OR REPLACE TYPE typListeTelephones AS TABLE OF number(10);
/
CREATE TABLE tIntervenant (
pknom varchar2(20) PRIMARY KEY,
prenom varchar2(20) NOT NULL,
ltelephones typListeTelephones
)
NESTED TABLE ltelephones STORE AS tIntervenant_nt1;
Syntaxe : Implémentation des collections d'enregistrement sous forme de tables imbriquées en SQL3
-- Déclaration d'une table imbriquant une autre table
8
CREATETABLE nom_table_principale (
9
nom_attribut type_attribut,
10
...
11
nom_attribut_table_imbriquée liste_nom_type,
12
...
13
)
14
NESTED TABLE nom_attribut_table_imbriquée STORE AS nom_table_stockage;
--Création d'un type abstrait d'objet
CREATE TYPE nom_type AS OBJECT (...);
-- Déclaration d'un type abstrait de collection
CREATE TYPE liste_nom_type AS TABLE OF nom_type;
-- Déclaration d'une table imbriquant une autre table
CREATE TABLE nom_table_principale (
nom_attribut type_attribut,
...
nom_attribut_table_imbriquée liste_nom_type,
...
)
NESTED TABLE nom_attribut_table_imbriquée STORE AS nom_table_stockage;
Exemple : Gestion de composition par imbrication de collection d'enregistrements
NESTED TABLE lspecialites STORE AS tIntervenant_nt2;
CREATE OR REPLACE TYPE typSpecialite AS OBJECT (
domaine varchar2(50),
technologie varchar2(50)
);
/
CREATE OR REPLACE TYPE typListeSpecialites AS TABLE OF typSpecialite;
/
CREATE TABLE tIntervenant (
pknom varchar2(20) PRIMARY KEY,
prenom varchar2(20) NOT NULL,
lspecialites typListeSpecialites
)
NESTED TABLE lspecialites STORE AS tIntervenant_nt2;