Le but de ce TP est simple : faire un script Perl qui permette de simuler la commande SQL.
Code : SQL
Bien entendu, notre commande sera bien plus simplifiée et se contentera d'afficher :
- le nom des champs ;
- le type des champs ;
- si le champ peut être NULL ou non.
Voici un aperçu de ce que devra faire votre script :
Code : Console | > perl describe_vente.pl
------------------------------------------------
| Champ | Type | Null |
------------------------------------------------
| numVoiture | integer | non |
| numVendeur | integer | non |
| prixReel | decimal | non |
| dateVente | date | non |
------------------------------------------------ |
Une petite aide
Bien évidemment, vous n'avez pas à l'heure actuelle tous les outils pour pouvoir réaliser ce TP. C'est pourquoi je vais vous décrire quelques fonctions qui vous seront sans aucun doute indispensables pour mener à bien ce petit exercice.
La méthode NAME
Méthode spécifique à MySQL !
Cette méthode retourne une référence vers un tableau de noms de colonnes et s'utilise de la manière suivante :
Code : Perl
La méthode TYPE
Méthode spécifique à MySQL !
Cette méthode retourne une référence vers un tableau de types de colonnes. Les valeurs possibles sont :
- 1 si la colonne est de type Char ;
- 2 si la colonne est de type Numeric ;
- 3 si la colonne est de type Decimal ;
- 4 si la colonne est de type Integer ;
- 5 si la colonne est de type Smallint ;
- 6 si la colonne est de type Float ;
- 7 si la colonne est de type Real ;
- 8 si la colonne est de type Double ;
- 9 si la colonne est de type Date ;
- 10 si la colonne est de type Time ;
- 11 si la colonne est de type Timestamp ;
- 12 si la colonne est de type Varchar ;
- -1 si la colonne est de type Longvarchar ;
- -2 si la colonne est de type Binary ;
- -3 si la colonne est de type Varbinary ;
- -4 si la colonne est de type Longvarbinary ;
- -5 si la colonne est de type Bigint ;
- -6 si la colonne est de type Tinyint ;
- -7 si la colonne est de type Bit ;
- -8 si la colonne est de type Wchar ;
- -9 si la colonne est de type Wvarchar ;
- -10 si la colonne est de type Wlongvarchar.
Elle s'utilise de la manière suivante :
Code : Perl
La méthode NULLABLE
Cette méthode retourne une référence vers un tableau de valeurs qui indiquent si les colonnes peuvent être NULL ou non. Les valeurs possibles sont :
- une chaine vide si la colonne ne peut pas être NULL ;
- 1 si la colonne peut être NULL ;
- 2 si l'état est inconnu.
Elle s'utilise de la manière suivante :
Code : Perl
Si vous pensez avoir besoin d'une séance de révision quant aux références en Perl, vous pouvez consulter cette annexe.