pl sql data types variables
Ce tutoriel explique en détail ce que sont les types de données PL SQL, les variables, les constantes et les littéraux à l'aide d'exemples de programmation:
Dans le didacticiel précédent du Série PL / SQL , nous avons découvert PL / SQL avec ses fonctionnalités et sa syntaxe de base avec des exemples.
Dans cet article, nous aborderons les différents types de données pris en charge par PL / SQL. Aussi, nous explorerons les variables et les constantes largement utilisées dans PL SQL.
Les littéraux PL / SQL sont également importants et nous en apprendrons plus sur ce tutoriel ainsi que sur son utilisation pratique.
Ce que vous apprendrez:
Types de données PL SQL
Toutes les variables, constantes, paramètres de PL / SQL ont un type de données particulier qui définit sa plage de valeurs, ses contraintes et le format dans lequel elles sont stockées. PL / SQL contient les types de données tels que Large Object, également appelés LOB, Scalar, Reference et Composite.
Types de données scalaires
Voyons d'abord les types de données scalaires qui se composent de ce qui suit:
- NUMÉRIQUE types de données qui traitent des valeurs sur lesquelles des opérations mathématiques sont effectuées.
- BOOLÉEN types de données qui traitent des valeurs sur lesquelles les opérations logiques sont effectuées.
- PERSONNAGE les types de données qui traitent les valeurs constituées de valeurs alphanumériques.
- DATE HEURE Types de données.
Types de données numériques
Le type de données numérique de PL / SQL comprend les éléments suivants:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DÉCIMAL
- NUMÉRIQUE
- NUMÉRO
- FLOTTER
- INT
- ENTIER
- DOUBLE PRECISION
- RÉEL
- PETITE MENTHE
- DÉC
Extrait de code avec types de données numériques:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
Dans le code ci-dessus, nous avons les types de données INTEGER, NUMBER et DOUBLE PRECISION avec les variables numA, numB et numC respectivement. numB a un type de données numérique avec une précision de 10 et n'a pas de chiffres après la virgule.
La sortie du code ci-dessus doit être:
Types de données de caractères
Les types de données caractères de PL / SQL sont les suivants, comme indiqué ci-dessous:
# 1) VARCHAR2: Ce type de données stockera la chaîne, mais la longueur de la chaîne n'est pas fixée au moment de la déclaration. Le varchar2 a une taille maximale de 32767 octets. La largeur maximale d'une colonne de base de données varchar2 est de 4 000 octets.
Syntaxe:
test VARCHAR2 (20): = «SoftwareTest»;
# 2) CHAR: Ce type de données stockera la chaîne, mais la longueur de la chaîne est fixée au moment de la déclaration. Le caractère a une taille maximale de 32767 octets. La largeur maximale d'une colonne de base de données char est de 2000 octets.
Syntaxe:
test CHAR2 (20): = «SoftwareTest»;
# 3) NCHAR: Ceci est similaire à CHAR, mais il ne stockera que le jeu de caractères national. Le NCHAR a une taille maximale de 32767 octets. La largeur maximale d'une colonne de base de données NCHAR est de 2000 octets.
Syntaxe:
test NCHAR2 (20);
# 4) LONG: Cela stockera des chaînes de caractères de longueur variable. Le long a une taille maximale de 32760 octets.
Syntaxe:
test LONG;
# 5) LONGUE RANGÉE: Cela stockera les données au format binaire ou des chaînes d'octets. La longue ligne a une taille maximale de 32 760 octets.
questions et réponses entretien sélénium pdf
Syntaxe:
tester LONG ROW;
# 6) ROWID: Ce sont les identificateurs physiques d'une ligne qui pointe vers l'adresse d'une ligne dans une table normale.
# 7) UROWID: Ce sont les identifiants universels des lignes.
# 8) NVARCHAR2: Ceci est similaire à VARCHAR2, mais il ne stockera que le jeu de caractères national. La largeur maximale d'une colonne de base de données nvarchar2 est de 4 000 octets.
# 9) VARCHAR: Ceci est similaire à VARCHAR2.
Syntaxe:
test VARCHAR2 (20): = «SoftwareTest»;
Parlons maintenant des types de données caractères de PL / SQL au format tabulaire.
Sl No. | Type de données | Description |
---|---|---|
7 | LONGROW | Ceci est similaire à LONG. Ces données ne sont pas interprétées par PL / SQL. |
1 | VARCHAR2 | Ceci est utilisé pour stocker les données de caractères qui sont de longueur variable. La taille est définie pour les variables au moment de la déclaration. Il est toujours recommandé d'utiliser VARCHAR2 pour une utilisation efficace de la mémoire. |
deux | CARBONISER | Ceci est utilisé pour stocker les données de caractères de longueur fixe. La taille est définie pour les variables au moment de la déclaration. Il est toujours recommandé d'utiliser CHAR lorsque les données de taille fixe doivent être utilisées. |
3 | VARCHAR | Ceci est similaire à VARCHAR2. Il est toujours recommandé d'utiliser VARCHAR lors de l'implémentation du code. |
4 | NCHAR | Ceci est utilisé pour stocker les données de caractère qui sont des données de caractère national de longueur fixe. Le jeu de caractères est UTF 8 ou UTF 16. Il est toujours recommandé de convertir CHAR en NCHAR. Mais la conversion de NCHAR en CHAR peut entraîner une troncature des données. |
5 | NVARCHAR2 | Ceci est utilisé pour stocker les données de caractère qui sont des données de caractère national de longueur variable. Ceci est similaire à VARCHAR2. Le jeu de caractères est UTF 8 ou UTF 16. Il est toujours recommandé de convertir VARCHAR2 en NVARCHAR2. Mais la conversion de NVARCHAR2 en VARCHAR2 peut entraîner une troncature des données. |
6 | LONGUE | Ceci est utilisé dans un dictionnaire de données. Ceci est principalement utilisé dans les données de jeu de caractères. |
Types de données booléens
Ces types de données PL / SQL peuvent être utilisés pour stocker des valeurs logiques. TRUE, FALSE et NULL sont les valeurs booléennes.
SQL n'a pas de types de données BOOLEAN. Nous devons donc les éviter dans les scénarios suivants:
- Instructions PL / SQL générées à partir de SQL.
- Fonctions par défaut de PL / SQL.
- Instructions SQL normales.
Syntaxe:
test Boolean;
La sortie de la variable de test sera TRUE ou FALSE selon certains critères.
Types de données date / heure
Ces types de données sont utilisés pour des durées constantes de date et d'heure. La plage de dates appropriée commence du 1er janvier 4712 avant JC au 31 décembre 9999 après JC, et l'heure est définie en secondes. Le format de date intégré est JJ-MON-YY, ce qui implique des chiffres doubles attribués pour le jour du mois, le nom du mois en bref, puis les deux derniers chiffres de l'année.
Une DATE comprend une seconde, une minute, un jour, une heure, un mois, une année et un siècle. Chacun de ces champs a une plage spécifique définie comme indiqué ci-dessous:
- DEUXIÈME: Il est défini dans la plage de 00 à 59,9.
- MINUTE: Il est défini dans la plage de 00 à 59.
- HEURE: Il est défini dans la plage de 00 à 23.
- JOURNÉE: Il est défini dans la plage de 01 à 31.
- MOIS: Il est défini dans la plage de 01 à 12.
- AN: Il est défini dans la plage de -4712 à 9999 (qui n'inclut pas 0).
- TIMEZONE_HOUR: Il est défini dans la plage de -12 à 14.
- TIMEZONE_MINUTE: Il est défini dans la plage de 00 à 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Syntaxe:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Ici, nous avons décrit le fuseau horaire à l'aide de symboles. La spécification US / Pacific ou PDT est utilisée pour définir un fuseau horaire particulier. Le formulaire PDT est principalement utilisé car il donne les directives lors du passage à l'heure d'été.
Types de données LOB
Parlons maintenant des types de données LOB qui traitent d'énormes morceaux de données constitués de vidéos, de sons, de graphiques, d'images, etc.
Les types de données LOB présentent de nombreux avantages par rapport aux types de données longs. Ils sont listés ci-dessous:
- Long peut accueillir 2 Go tandis que LOB peut contenir 128 To.
- Une table peut avoir une seule colonne de type LONG alors qu'il peut y avoir de nombreuses colonnes de type de données LOB.
- Le type de données LOB fait l'objet d'améliorations et de mises à jour constantes d'Oracle tandis que le type de données LONG n'a pas beaucoup d'améliorations et de mises à jour.
Les types de données LOB sont répertoriés ci-dessous:
- BFILE: Ceci est utilisé pour conserver les données non structurées au format binaire hors de la base de données en tant que fichier du système d'exploitation.
- NCLOB: Ceci est utilisé pour contenir d'énormes données NCHAR dans la base de données.
- CLOB: Ceci est utilisé pour contenir d'énormes données de type caractère dans la base de données.
Syntaxe:
CLOB binaire;
- GOUTTE: Ceci est utilisé pour contenir d'énormes données binaires dans la base de données.
Syntaxe:
BLOB binaire;
Implémentation de code avec certains types de données:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
La sortie du code ci-dessus doit être:
Variables PL SQL
Les noms de variables PL / SQL suivent la convention de dénomination qui se compose de caractères alphanumériques pas plus de trente. PL / SQL est insensible à la casse et les mots-clés ne doivent pas être utilisés comme une variable.
Le nom de la variable doit être significatif et peut être suivi d'un trait de soulignement (_), d'un nombre ou d'un dollar ($).
Déclaration de variable PL SQL
Les variables de PL / SQL doivent être disponibles dans la zone de déclaration ou présentes dans un package en tant que variable globale. PL / SQL réserve de la mémoire pour les variables et l'emplacement du stockage est défini par le nom de la variable.
Syntaxe de la déclaration de variable:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Ici, le nom_variable est un identifiant PL / SQL authentique et le type de données peut être un type de données PL / SQL défini par l'utilisateur ou confirmé.
Implémentation de code pour la déclaration de variable:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
La sortie du code ci-dessus doit être:
Veuillez noter, nous avons mentionné à la fois la précision et la taille du type de données numérique. C'est ce qu'on appelle la déclaration contrainte. Ce type de déclaration consomme moins de mémoire.
Initialisation des variables PL / SQL
Par défaut, PL / SQL prend la valeur d'une variable comme NULL. Cependant, si nous ne voulons pas initialiser une variable avec NULL, cela peut être réalisé soit en utilisant le mot clé DEFAULT, soit avec l'opérateur d'affectation.
Syntaxe:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Nous pouvons également définir qu'une variable ne doit pas avoir de valeur NULL en mentionnant la contrainte NOT NULL. Cependant, si la contrainte NOT NULL est utilisée, nous devons définir une valeur pour la variable.
Implémentation de code avec initialisation de variable:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
La sortie du code ci-dessus doit être:
Implémentation du code avec le concept d'affectation:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Ici, l'opérateur d'affectation (=) est utilisé pour affecter des valeurs à la variable.
La sortie du code ci-dessus doit être:
Portée de la variable PL / SQL
Un bloc PL / SQL peut avoir des blocs internes de code. Si une variable déclarée fait partie du bloc interne, elle ne peut pas être utilisée par le bloc externe. Mais une variable qui fait partie du bloc externe peut être manipulée dans le bloc interne de code.
Ces types de variables sont décrits ci-dessous:
- Variables globales: Les variables qui sont déclarées dans le bloc ou le package externe.
- Variables locales: Les variables qui sont déclarées dans le bloc interne de code et qui ne sont pas accessibles depuis le bloc externe.
Implémentation de code avec des variables globales et locales:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
La sortie du code ci-dessus doit être:
Veuillez noter que la sortie ici, la variable globale est: 10 (à cause de la variable globale val) et «La variable locale est: 100 (à cause de la variable locale val).
Ancre PL / SQL
Les ancres PL / SQL sont définies avec le mot-clé% TYPE pour déclarer des variables avec le type de données connecté avec le type de données de cette colonne spécifique de la table.
Extrait de code avec ancre:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Ici, nous avons une table RESIDENT et nous traitons les colonnes NOM et ADDRESS de cette table.
Constantes en PL / SQL
Une constante conserve la valeur qui est une fois déclarée inchangée tout au long du programme.
Déclaration de constante PL / SQL
Le CONSTANT Le mot clé est utilisé pour définir des constantes dans le programme. Il commence par une valeur prédéfinie qui reste la même tout au long du programme.
Syntaxe de la déclaration de variable:
const_name CONSTANT data type := val
Implémentation du code avec constante:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
La sortie du code ci-dessus doit être:
Littéraux dans PL SQL
Une valeur booléenne, numérique ou chaîne qui n'est pas définie par un identificateur PL / SQL est appelée un littéral. Les littéraux sont sensibles à la casse et sont des types suivants, comme indiqué ci-dessous:
- Littéraux booléens ( Par exemple - FAUX VRAI )
- Littéraux de caractères ( Par exemple - «s», «7», «)»)
- Littéraux de chaîne ( Par exemple - «Test de logiciel»)
- Littéraux numériques ( Par exemple - 78, 04, 6.3)
- DATE et littéraux d'heure ( Par exemple - '25-05-2012 ')
Foire aux questions et réponses
Q # 1) Quels sont les types de données dans PL SQL?
Répondre: Les types de données PL SQL sont composites et scalaires. Les types de données scalaires peuvent contenir des valeurs uniques telles que Character, Number, Boolean et DateTime. Alors que les types de données composites stockent plus d'une valeur comme la collecte et l'enregistrement.
Q # 2) Qu'est-ce que la variable PL / SQL?
Répondre: Une variable PL SQL est un nom qui aide un développeur à stocker temporairement des données pendant l'exécution du programme. C'est un nom significatif attribué à la zone de stockage. Toutes les variables de PL / SQL appartiennent à un type de données spécifique.
Q # 3) Comment passer un paramètre de date en PL / SQL?
Répondre: Nous pouvons passer un paramètre de date en PL / SQL à l'aide du mot-clé DATE. Il suit un format fixe comme «AAAA-MM-JJ».
Q # 4) Comment déclarer une constante en PL / SQL?
Répondre: Nous pouvons déclarer une constante en PL / SQL à l'aide du mot-clé CONSTANT. Après CONSTANT, il faut mentionner la valeur qui lui est assignée. Cette valeur reste fixe tout au long du programme.
Q # 5) Combien de types de littéraux sont disponibles en PL / SQL?
Répondre: Les types de littéraux en PL / SQL sont Number, DateTime, Text et Integer.
Q # 6) Les variables PL SQL sont-elles sensibles à la casse?
Répondre: Les variables PL SQL comprenant les mots réservés ne sont pas sensibles à la casse. Par exemple, COMMENCER et commencer les deux servent le même but.
Conclusion
Une grande partie de PL / SQL traitant de sujets tels que les différents types de données utilisés et leur importance et les variables de PL SQL devraient être compréhensibles maintenant après la lecture de ce tutoriel.
De plus, nous avons exploré en détail les constantes et littéraux PL SQL. Parcourez chacun des sujets un par un et lentement vous maîtriserez cela. PL / SQL est utilisé dans les industries pour le développement Web et serveur de nos jours.
Dans le prochain didacticiel, nous aborderons l'instruction PL / SQL Insert, Update, Delete, Select et d'autres sujets connexes.
Restons à l’écoute pour plus de partage des connaissances.
lecture recommandée
- Variables Python
- Types de données Python
- Types de données et variables C # avec exemples
- Paramétrage des données JMeter à l'aide de variables définies par l'utilisateur
- Tutoriel Data Mart - Types, exemples et implémentation de Data Mart
- Types de données C ++
- Variables Java et leurs types avec des exemples
- Différences exactes entre SQL et NoSQL et savoir quand utiliser NoSQL et SQL