Il s'agit purement d'un problème d'affichage SQL*Plus. Il n'y a pas de différence (actuellement) entre le VARCHAR
et VARCHAR2
type de données - aucun espace ne remplira les données que vous enregistrez. Uniquement CHAR
les colonnes le feraient.
Dans SQL*Plus, vous pouvez contrôler la largeur du name
la colonne est affichée
SQL> column name format a30;
par exemple, indiquera à SQL*Plus d'utiliser 30 colonnes pour afficher les données dans le name
colonne. Vous pouvez ajuster cela vers le haut ou vers le bas en fonction de la longueur réelle de vos données, de la quantité de données que vous souhaitez tenir dans une seule ligne, etc. Vous devrez soit mettre cela dans un script avec l'instruction SQL, soit vous vous devez le répliquer dans chaque session avant d'émettre l'instruction ou vous devrez l'ajouter au fichier login/glogin.sql.
SQL*Plus est un bel outil si vous essayez de générer des rapports de texte à largeur fixe. Cependant, si vous exécutez simplement des requêtes de manière interactive, ce n'est pas la solution la plus conviviale - ajuster la largeur de vos colonnes de texte, traiter une sortie plus longue que votre ligne, etc. vieillit très rapidement. Si vous faites du développement interactif, un outil comme SQL Developer avec une interface graphique appropriée est beaucoup plus convivial.