Oracle Types de données PL/SQL : booléen, nombre, date [exemple]
⚡ Résumé intelligent
Les types de données PL/SQL définissent comment Oracle Chaque valeur d'un bloc est stockée, manipulée et contrainte. Ces valeurs sont regroupées en familles : caractères, nombres, booléens, dates et objets volumineux (LOB), chacune ayant son propre format de stockage, ses limites de taille et ses règles d'affectation.

Que sont les types de données PL/SQL ?
Types de données En PL/SQL, définissez comment les données seront stockées, gérées et traitées par Oracle Lors du stockage et du traitement, les types de données sont associés à un format de stockage spécifique et à des contraintes de plage. OracleChaque valeur ou constante se voit attribuer un type de données.
La principale différence entre PL/SQL et SQL La principale différence réside dans le fait que les types de données SQL sont limités aux colonnes de la table, tandis que les types de données PL/SQL sont utilisés dans les colonnes de la table. Blocs PL/SQL. Nous en parlerons plus tard dans le didacticiel.
Voici un schéma des différents Oracle Types de données PL/SQL :

CARACTÈRE PL/SQL Type de données
Ce type de données stocke des caractères alphanumériques sous forme de chaîne de caractères. Les valeurs littérales doivent toujours être placées entre guillemets simples lors de leur affectation à un type de données CHARACTER.
Ce type de données de caractère est en outre classé comme suit :
- Type de données CHAR (taille de chaîne fixe)
- Type de données VARCHAR2 (taille de chaîne variable)
- type de données VARCHAR
- NCHAR (taille de chaîne fixe native)
- NVARCHAR2 (taille de chaîne variable native)
- LONG et LONG BRUT
| Type de données | Description | Syntaxe |
|---|---|---|
| CARBONISER | Ce type de données stocke une valeur de type chaîne de caractères, dont la taille est fixée lors de sa déclaration. variable.
|
grade CHAR; manager CHAR (10):= 'guru99'; Explication de la syntaxe :
|
| VARCHAR2 | Ce type de données stocke une chaîne de caractères, mais sa longueur n'est pas fixe.
|
manager VARCHAR2(10) := 'guru99'; Explication de la syntaxe :
|
| VARCHAR | Ceci est synonyme du type de données VARCHAR2.
|
manager VARCHAR(10) := 'guru99'; Explication de la syntaxe :
|
| NCHAR | Ce type de données est identique à CHAR, mais le jeu de caractères est le jeu de caractères national.
|
native NCHAR(10);
Explication de la syntaxe :
|
| NVARCHAR2 | Ce type de données est identique à VARCHAR2, mais le jeu de caractères est le jeu de caractères national.
|
Native_var NVARCHAR2(10):= 'guru99'; Explication de la syntaxe :
|
| LONG et LONG BRUT | Ce type de données stocke des textes volumineux ou des données brutes jusqu'à une taille maximale de 2 Go.
|
Large_text LONG; Large_raw LONG RAW; Explication de la syntaxe :
À noter: L'utilisation du type de données LONG n'est pas recommandée par OracleLe type de données LOB est à privilégier. |
PL/SQL NUMÉRO Type de données
Ce type de données stocke des nombres à virgule fixe ou flottante avec une précision maximale de 38 chiffres. Il est utilisé pour manipuler des champs contenant uniquement des données numériques. La variable peut être déclarée avec ou sans précision et nombre de décimales. Il n'est pas nécessaire d'encadrer les valeurs entre guillemets lors de leur affectation.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Explication de la syntaxe :
- La première déclaration déclare la variable 'A' de type de données numériques avec une précision totale de 8 et 2 chiffres décimaux.
- La seconde déclaration indique « B » de type de données numériques avec une précision totale de 8 et sans décimales.
- La troisième option est la plus générique ; elle déclare le type de données numériques « C » sans restriction de précision ni de décimales. Elle peut comporter jusqu’à 38 chiffres.
Type de données PL/SQL BOOLÉEN
Ce type de données stocke des valeurs logiques. Oracle Le type de données booléen représente soit VRAI, soit FAUX et est principalement utilisé dans les instructions conditionnelles. Il n'est pas nécessaire d'encadrer les valeurs de guillemets lors de leur affectation.
Var1 BOOLEAN;
Explication de la syntaxe :
- La variable « Var1 » est déclarée comme étant de type booléen. La valeur de retour sera soit vraie, soit fausse, selon la condition définie.
Type de données PL/SQL DATE
Ce type de données stocke les valeurs au format date (jour, mois, année). Lorsqu'une variable est définie avec le type DATE, elle peut contenir une information temporelle ; par défaut, l'heure est fixée à 12:00:00 si elle n'est pas spécifiée. Les valeurs doivent être placées entre guillemets lors de leur affectation.
La norme Oracle Le format de temps pour l'entrée et la sortie est 'JJ-MOIS-AA', qui est défini dans NLS_PARAMETERS (NLS_DATE_FORMAT) au niveau de la session.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Explication de la syntaxe :
- La variable « newyear » est déclarée comme étant de type DATE et se voit attribuer la valeur du 1er janvier 2015.
- La deuxième déclaration indique que 'current_date' est de type DATE et lui attribue la date système actuelle.
- Les deux variables contiennent des informations temporelles.
Type de données PL/SQL LOB
Ce type de données est principalement utilisé pour stocker et manipuler de grands blocs de données non structurées telles que des images et des fichiers multimédias. Oracle LOB est préféré au type de données LONG car il est plus flexible. Les principaux avantages de LOB par rapport à LONG sont les suivants :
- Une table est limitée à une seule colonne LONG, alors qu'il n'y a aucune restriction quant au nombre de colonnes LOB.
- Les outils d'interface de données acceptent les colonnes LOB lors de la réplication, mais omettent les colonnes LONG, qui doivent être répliquées manuellement.
- Une colonne LONG peut stocker jusqu'à 2 Go, tandis qu'une colonne LOB peut stocker jusqu'à 128 To.
- Oracle Le type de données LOB continue de s'améliorer à chaque version, tandis que le type LONG reste en grande partie inchangé.
Il est donc toujours préférable d'utiliser le type de données LOB plutôt que LONG. Les différents types de données LOB ci-dessous peuvent stocker jusqu'à 128 téraoctets :
- BLOB
- CLOB et NCLOB
- FICHIER BF
| Type de données | Description | Syntaxe |
|---|---|---|
| BLOB | Ce type de données stocke les données LOB au format binaire jusqu'à une taille maximale de 128 To. Il ne stocke pas les données en fonction des jeux de caractères, ce qui lui permet de stocker des données non structurées telles que des objets multimédias et des images. |
Binary_data BLOB;
Explication de la syntaxe :
|
| CLOB et NCLOB | Le format CLOB stocke les données LOB dans le jeu de caractères, tandis que le format NCLOB les stocke dans le jeu de caractères natif. Comme ces formats utilisent un stockage basé sur le jeu de caractères, ils ne peuvent pas stocker de données multimédias ou d'images. La capacité maximale est de 128 To. |
Charac_data CLOB;
Explication de la syntaxe :
|
| FICHIER BF |
|
