Déclaration des types utilisateurs en SQL3 (extension au LDD)

SyntaxeDéclaration de type

Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
CREATE TYPE nom_type AS OBJECT (
2
 nom_attribut1 type_attribut1
3
 ...
4
MEMBER FUNCTION nom_fonction1 (parametre1 IN|OUT type_parametre1, ...) RETURN type_fonction1
5
 ...
6
) [NOT FINAL];
7
/
8
CREATE TYPE BODY nom_type
9
IS 
10
MEMBER FUNCTION nom_fonction1 (...) RETURN type_fonction1
11
  IS
12
  BEGIN
13
  ...
14
  END ;
15
MEMBER FUNCTION nom_fonction2 ...
16
  ...
17
END ;
18
END ;
19
/
CREATE TYPE nom_type AS OBJECT (
 nom_attribut1 type_attribut1
 ...
 MEMBER FUNCTION nom_fonction1 (parametre1 IN|OUT type_parametre1, ...) RETURN type_fonction1
 ...
) [NOT FINAL];
/
CREATE TYPE BODY nom_type
 IS 
 MEMBER FUNCTION nom_fonction1 (...) RETURN type_fonction1
  IS
  BEGIN
  ...
  END ;
 MEMBER FUNCTION nom_fonction2 ...
  ...
 END ;
END ;
/

SyntaxeHéritage de type

Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
CREATE TYPE sous_type UNDER sur_type (
2
 Déclarations spécifiques ou surcharges
3
) ;
CREATE TYPE sous_type UNDER sur_type (
 Déclarations spécifiques ou surcharges
) ;

RemarqueNOT FINAL

Pour être héritable, un type doit être déclaré avec la clause optionnelle NOT FINAL.

RemarqueType retourné par une méthode

Appuyer sur espace pour rester en pause.

« The datatype cannot specify a length, precision, or scale. »

http://docs.oracle.com/cd/B13789_01/server.101/b10759/statements_5009.htm