pl sql data types variables
Aquest tutorial explica detalladament què són els tipus de dades, variables, constants i literals de PL SQL amb l'ajut d'exemples de programació:
A l 'anterior tutorial de Sèrie PL / SQL , ens van introduir a PL / SQL amb les seves característiques i sintaxi bàsica amb exemples.
En aquest article, analitzarem els diferents tipus de dades que admet PL / SQL. A més, explorarem les variables i les constants que s’utilitzen extensament a PL SQL.
Els literals PL / SQL també són importants i en coneixerem aquest tutorial juntament amb el seu ús pràctic.
Què aprendreu:
Pl Tipus de dades SQL
Totes les variables, constants, paràmetres de PL / SQL tenen un tipus de dades concret que defineix el seu rang de valors, restriccions i el format en què s’emmagatzemen. PL / SQL conté els tipus de dades com Objecte gran també conegut com LOB, Scalar, Reference i Composite.
Tipus de dades escalars
Analitzem primer els tipus de dades escalars que consisteixen en el següent:
- NUMÈRIC tipus de dades que tracten de valors sobre els quals es fan operacions matemàtiques.
- BOOLEAN tipus de dades que tracten els valors sobre els quals es fan les operacions lògiques.
- PERSONATGE tipus de dades que tracten els valors consistents en alfanumèrics.
- DATA I HORA tipus de dades.
Tipus de dades numèriques
El tipus de dades numèric de PL / SQL consta del següent:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DECIMAL
- NUMÈRIC
- NOMBRE
- FLOTAR
- INT
- ENTER
- DOBLE PRECISIÓ
- REAL
- SMALLINT
- DEC
Fragment de codi amb tipus de dades 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; /
Al codi anterior, tenim tipus de dades INTEGER, NUMBER i DOBLE PRECISIÓ amb les variables numA, numB i numC respectivament. numB té un tipus de dades numèriques amb precisió 10 i no té dígits després del decimal.
La sortida del codi anterior hauria de ser:
Tipus de dades de caràcters
Els tipus de dades de caràcters de PL / SQL consisteixen en els següents que es detallen a continuació:
# 1) VARCHAR2: Aquest tipus de dades emmagatzemarà la cadena, però la longitud de la cadena no es fixa en el moment de la declaració. El varchar2 té una mida màxima de fins a 32767 bytes. L'amplada màxima d'una columna de base de dades varchar2 és de 4.000 bytes.
Sintaxi:
prova VARCHAR2 (20): = ‘SoftwareTest’;
# 2) CHAR: Aquest tipus de dades emmagatzemarà la cadena, però la longitud de la cadena es fixa en el moment de la declaració. El caràcter té una mida màxima de fins a 32767 bytes. L'amplada màxima d'una columna de base de dades de caràcters és de 2000 bytes.
Sintaxi:
prova CHAR2 (20): = 'SoftwareTest';
# 3) NCHAR: Això és similar a CHAR, però només emmagatzemarà el conjunt de caràcters nacionals. El NCHAR té una mida màxima de fins a 32767 bytes. L'amplada màxima d'una columna de base de dades NCHAR és de 2000 bytes.
Sintaxi:
prova NCHAR2 (20);
# 4) LLARG: Això emmagatzemarà cadenes de caràcters de longitud variable. El llarg té una mida màxima de fins a 32760 bytes.
Sintaxi:
prova LLARG;
# 5) FILA LLARGA: Això emmagatzemarà dades en format binari o cadenes de bytes. La fila llarga té una mida màxima de fins a 32760 bytes.
el millor programari gratuït per netejar el PC
Sintaxi:
prova LLARGA FILA;
# 6) ROWID: Aquests són els identificadors físics d'una fila que apunta a l'adreça d'una fila en una taula normal.
# 7) UROWID: Aquests són els identificadors universals de les files.
# 8) NVARCHAR2: Això és similar a VARCHAR2, però només emmagatzemarà el conjunt de caràcters nacionals. L'amplada màxima d'una columna de base de dades nvarchar2 és de 4.000 bytes.
# 9) VARCHAR: Això és similar a VARCHAR2.
Sintaxi:
prova VARCHAR2 (20): = ‘SoftwareTest’;
Analitzem ara els tipus de dades de caràcters de PL / SQL en format tabular.
Sl núm. | Tipus de dades | Descripció |
---|---|---|
7 | LONGROW | Això és similar a LONG. PL / SQL no interpreta aquestes dades. |
1 | VARCHAR2 | S'utilitza per emmagatzemar les dades de caràcters de longitud variable. La mida s'estableix per a les variables en el moment de la declaració. Sempre es recomana utilitzar VARCHAR2 per a un ús efectiu de la memòria. |
2 | CHAR | S'utilitza per emmagatzemar les dades de caràcters de longitud fixa. La mida s'estableix per a les variables en el moment de la declaració. Sempre es recomana utilitzar CHAR quan s’utilitzen les dades de mida fixa. |
3 | VARCHAR | Això és similar a VARCHAR2. Sempre es recomana utilitzar VARCHAR durant la implementació del codi. |
4 | NCHAR | S'utilitza per emmagatzemar les dades de caràcters que tenen dades de caràcter nacional de longitud fixa. El conjunt de caràcters és UTF 8 o UTF 16. Sempre es recomana convertir CHAR a NCHAR. Però convertir NCHAR a CHAR pot provocar un truncament de dades. |
5 | NVARCHAR2 | S'utilitza per emmagatzemar les dades de caràcters que tenen dades de caràcter nacional de longitud variable. Això és similar a VARCHAR2. El conjunt de caràcters és UTF 8 o UTF 16. Sempre es recomana convertir VARCHAR2 a NVARCHAR2. Però convertir NVARCHAR2 a VARCHAR2 pot provocar un truncament de dades. |
6 | LLARG | S'utilitza en un diccionari de dades. S’utilitza principalment en dades del conjunt de caràcters. |
Tipus de dades booleans
Aquests tipus de dades de PL / SQL es poden utilitzar per emmagatzemar valors lògics. TRUE, FALSE i NULL són els valors booleans.
SQL no té tipus de dades BOOLEAN. Per tant, hem d’evitar-los en els escenaris següents:
- Instruccions PL / SQL generades des de SQL.
- Funcions predeterminades de PL / SQL.
- Instruccions SQL normals.
Sintaxi:
test Boolean;
La sortida de la variable de prova serà TRUE o FALSE segons determinats criteris.
Tipus de dades de data i hora
Aquests tipus de dades s’utilitzen per a dates i hores constants. L’interval adequat de dates comença des de l’1 de gener de 4712 aC fins al 31 de desembre de 9999 dC i el temps es defineix en termes de segons. El format de data incorporat és DD-MON-YY, que implica dos dígits assignats per al dia del mes, el nom del mes en resum, i després els dos darrers dígits de l'any.
Una DATA consta de segon, minut, dia, hora, mes, any i segle. Cadascun d'aquests camps té un interval específic definit tal com s'indica a continuació:
- SEGON: Es defineix entre el rang de 00 a 59,9.
- MINUT: Es defineix entre 00 i 59.
- HORES: Es defineix entre 00 i 23.
- DIA: Es defineix entre 01 i 31.
- MES: Es defineix en el rang de 01 a 12.
- CURS: Es defineix entre -4712 i 9999 (que no inclou 0).
- TIMEZONE_HOUR: Es defineix entre -12 i 14.
- TIMEZONE_MINUTE: Es defineix entre 00 i 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Sintaxi:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Aquí hem descrit la zona horària mitjançant símbols. L'especificació dels EUA / Pacífic o PDT s'utilitza per definir una zona horària concreta. El formulari PDT s'utilitza principalment ja que proporciona les pautes mentre es canvia a l'horari d'estiu.
Tipus de dades LOB
Analitzem ara els tipus de dades LOB que tracten de grans quantitats de dades que consisteixen en vídeos, sons, gràfics, imatges, etc.
Els tipus de dades LOB tenen nombrosos avantatges respecte als tipus de dades llargs. Es detallen a continuació:
- Llarg pot contenir 2 GB, mentre que LOB pot contenir 128 TB.
- Una taula pot tenir una sola columna de tipus LONG mentre que hi pot haver nombroses columnes de tipus de dades LOB.
- El tipus de dades LOB experimenta millores i actualitzacions constants d’Oracle, mentre que el tipus de dades LONG no té moltes millores i actualitzacions.
A continuació s’enumeren els tipus de dades LOB:
- BFILE: S'utilitza per contenir dades no estructurades en format binari fora de la base de dades com a fitxer del sistema operatiu.
- NCLOB: S'utilitza per contenir enormes dades NCHAR a la base de dades.
- CLOB: S'utilitza per contenir dades enormes de tipus de caràcter a la base de dades.
Sintaxi:
CLOB binari;
- BLOB: S'utilitza per contenir enormes dades binàries a la base de dades.
Sintaxi:
BLOB binari;
Implementació de codi amb alguns tipus de dades:
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 sortida del codi anterior hauria de ser:
Variables SQL PL
Els noms de variables PL / SQL segueixen la convenció de noms, que consta de caràcters alfanumèrics no més de trenta. PL / SQL no distingeix entre majúscules i minúscules i les paraules clau no s’han d’utilitzar com a variable.
El nom de la variable ha de ser significatiu i pot anar seguit d'un subratllat (_), d'un número o d'un dòlar ($).
Declaració de variable SQL PL
Les variables de PL / SQL han d'estar disponibles a l'àrea de declaració o presentar-se en un paquet com a variable global. PL / SQL reserva memòria per a les variables i la ubicació de l’emmagatzematge es defineix amb el nom de la variable.
Sintaxi per a la declaració de variables:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Aquí, el nom_variable és un identificador autèntic PL / SQL i el tipus de dades pot ser un tipus de dades PL / SQL definit per l'usuari o confirmat.
Implementació del codi per a la declaració de variables:
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 sortida del codi anterior hauria de ser:
Tingueu en compte, hem esmentat tant la precisió com la mida del tipus de dades numèriques. Això es coneix com la declaració restringida. Aquest tipus de declaració consumeix menys memòria.
Inicialització de la variable PL / SQL
Per defecte, PL / SQL pren el valor d'una variable com a NULL. Tanmateix, si no volem inicialitzar una variable amb NULL, es pot aconseguir mitjançant la paraula clau DEFAULT o amb l'operador d'assignació.
Sintaxi:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
També podem definir que una variable no ha de tenir valor NULL esmentant la restricció NOT NULL. Tanmateix, si s’utilitza la restricció NOT NULL, hem d’establir un valor per a la variable.
Implementació de codi amb inicialització 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 sortida del codi anterior hauria de ser:
Implementació de codi amb concepte d'assignació:
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; /
Aquí l'operador d'assignació (=) s'utilitza per assignar valors a la variable.
La sortida del codi anterior hauria de ser:
Abast variable PL / SQL
Un bloc PL / SQL pot tenir blocs interns de codi. Si una variable que es declara és una part del bloc interior, no el pot utilitzar el bloc exterior. Però una variable que forma part del bloc exterior es pot manipular al bloc intern de codi.
A continuació es descriuen aquests tipus de variables:
- Global variables: Les variables que es declaren al bloc o al paquet extern.
- Variables locals: Les variables que es declaren al bloc intern de codi i no es poden accedir des del bloc exterior.
Implementació de codi amb variables globals i locals:
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 sortida del codi anterior hauria de ser:
Tingueu en compte que la sortida aquí, la variable global és: 10 (a causa de la variable global val) i ‘La variable local és: 100 (a causa de la variable local val).
Ancoratge PL / SQL
Els ancoratges PL / SQL es defineixen amb la paraula clau% TYPE per declarar variables amb el tipus de dades connectat amb el tipus de dades d’aquesta columna específica de la taula.
Fragment de codi amb àncora:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Aquí tenim una taula RESIDENT i tractem les columnes NOM i ADREÇA d’aquesta taula.
Constants a PL / SQL
Una constant manté el valor que es declara sense canvis durant tot el programa.
Declaració constant de PL / SQL
El CONSTANT La paraula clau s'utilitza per definir constants al programa. Comença amb un valor predefinit que continua sent el mateix a tot el programa.
Sintaxi per a la declaració de variables:
const_name CONSTANT data type := val
Implementació de codi amb constant:
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 sortida del codi anterior hauria de ser:
Literals a PL SQL
Un valor booleà, numèric o una cadena que no està definit per un identificador PL / SQL s’anomena literal. Els literals distingeixen entre majúscules i minúscules i són dels tipus següents que s’enumeren a continuació:
- Literals booleans ( Per exemple - FALS, VERITATIU)
- Literals de caràcters ( Per exemple - 's', '7', ')')
- Literals de corda ( Per exemple - 'Prova de programari')
- Literals numèrics ( Per exemple - 78, 04, 6.3)
- DATA i literals de temps ( Per exemple - '25 -05-2012 ')
Preguntes i respostes freqüents
Q # 1) Quins són els tipus de dades a PL SQL?
Resposta: Els tipus de dades PL SQL són compostos i escalars. Els tipus de dades escalars poden contenir valors individuals com ara Caràcter, Nombre, Booleà i DataTime. Mentre que els tipus de dades compostes emmagatzemen més d'un valor, com ara la recopilació i el registre.
Q # 2) Què és la variable PL / SQL?
Resposta: Una variable SQL PL és un nom que ajuda un desenvolupador a emmagatzemar dades temporalment durant l'execució del programa. És un nom significatiu assignat a l'àrea d'emmagatzematge. Totes les variables de PL / SQL pertanyen a un tipus de dades específic.
P # 3) Com passar un paràmetre de data a PL / SQL?
Resposta: Podem passar un paràmetre de data a PL / SQL amb l'ajut de la paraula clau DATE. Segueix un format fixat com a 'AAAA-MM-DD'.
Q # 4) Com es declara una constant a PL / SQL?
Resposta: Podem declarar una constant a PL / SQL amb l'ajut de la paraula clau CONSTANT. Després de CONSTANT, hem d'esmentar el valor que se li assigna. Aquest valor es manté fix a tot el programa.
Q # 5) Quants tipus de literals hi ha disponibles a PL / SQL?
Resposta: Els tipus de literals a PL / SQL són Number, DateTime, Text i Enter.
Q # 6) Les variables PL SQL distingeixen entre majúscules i minúscules?
Resposta: Les variables PL SQL, incloses les paraules reservades, no distingeixen entre majúscules i minúscules. Per exemple, COMENÇAR i començar tots dos tenen el mateix propòsit.
Conclusió
Una gran part de PL / SQL que tracta temes com els diversos tipus de dades utilitzats i la seva importància i les variables de PL SQL hauria de ser comprensible ara després de llegir aquest tutorial.
A més, hem explorat en detall les constants i literals de PL SQL. Reviseu cadascun dels temes un per un i, a poc a poc, anireu dominant-ho. PL / SQL s’utilitza en indústries tant per al desenvolupament de servidors web com de servidors.
En el següent tutorial, parlarem de la inserció PL / SQL, Actualització, Eliminació, Selecció i altres temes relacionats.
Estem atents a més intercanvi de coneixement.
Lectura recomanada
- Variables de Python
- Tipus de dades Python
- C # Tipus de dades i variables amb exemples
- Parametrizació de dades de JMeter mitjançant variables definides per l'usuari
- Tutorial de Data Mart: tipus, exemples i implementació de Data Mart
- Tipus de dades C ++
- Variables de Java i els seus tipus amb exemples
- SQL vs NoSQL Diferències exactes i saber quan s'ha d'utilitzar NoSQL i SQL