PLSQL 2 2
PLSQL 2 2
SQL
2-2
Reconociendo PL / SQL Lexical Uni
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 3
Reconocimiento de unidades léxicas PL /SQL
Propósito
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 4
Reconocimiento de unidades léxicas PL /SQL
Unidades léxicas en un bloque PL / SQL
•Unidades léxicas:
-¿Son los componentes básicos de cualquier bloque PL / SQL?
-Palabras reservadas
-Delimitadores
-Literales
-Comentarios
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 5
Reconocimiento de unidades léxicas PL /SQL
Identificadores
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 6
Reconocimiento de unidades léxicas PL /SQL
Identificadores resaltados
•Varios identificadores están resaltados en el código PL / SQL que se muestra a
continuación
v_date VARCHAR2(30);
BEGIN
SELECT TO_CHAR(SYSDATE,'Mon DD, YYYY’)
INTO v_date
FROM DUAL;
DBMS_OUTPUT.PUT_LINE(v_date);
END;
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 7
Reconocimiento de unidades léxicas PL /SQL
Propiedades del identificador
•Identificadores:
-Máximo 30 caracteres de longitud
-Debe comenzar con una letra
-Puede incluir $ (signo de dólar), _ (guión bajo) o #
(hashtag)
-No puede contener espacios
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 8
Reconocimiento de unidades léxicas PL /SQL
Identificadores válidos e inválidos
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 9
Reconocimiento de unidades léxicas PL /SQL
Palabras reservadas
•Las palabras reservadas son palabras que tienen un significado especial para la
base de datos de Oracle.
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 10
Reconocimiento de unidades léxicas PL /SQL
Lista parcial de palabras reservadas
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 11
Reconocimiento de unidades léxicas PL /SQL
Uso de palabras reservadas
DECLARE
date DATE;
BEGIN
SELECT ADD_MONTHS(SYSDATE,3) INTO date
FROM dual;
END;
ORA-06550: line 4, column 37:
PL/SQL: ORA-00936: missing expression
ORA-06550: line 4, column 3:
PL/SQL: SQL Statement ignored
2. date DATE;
3. BEGIN
4. SELECT ADD_MONTHS(SYSDATE,3) INTO date
5. FROM DUAL;
6. END;
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 12
Reconocimiento de unidades léxicas PL /SQL
Delimitadores
Símbolo Significado
+ operador de adición
- operador de resta / negación
* operador de multiplicación
/ operador de división
= operador de igualdad
; de cadena de caracteres
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 13
Reconocimiento de unidades léxicas PL /SQL
Delimitadores
Símbolo Significado
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 14
Reconocimiento de unidades léxicas PL /SQL
Literales
•Un literal es un número explícito, una cadena de caracteres, una fecha o una
Valor booleano que podría almacenarse en una variable.
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 15
Reconocimiento de unidades léxicas PL /SQL
Literales de caracteres
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. dieciséis
DECLARE
v_firstname VARCHAR2(30) := 'John’;
v_classroom VARCHAR2(4) := '12C’;
v_course_id VARCHAR2(8 := 'CS 101’;
BEGIN
….
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 17
Reconocimiento de unidades léxicas PL /SQL
Literales numéricos
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 18
Reconocimiento de unidades léxicas PL /SQL
Literales numéricos
DECLARE
v_classroom NUMBER(3) := 327;
v_grade NUMBER(3) := 95;
v_price NUMBER(5) := 150;
v_salary NUMBER(8) := 2E5;
c_pi CONSTANT NUMBER(7,6) := 3.141592;
BEGIN
…..
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 19
Reconocimiento de unidades léxicas PL /SQL
Literales booleanos
•Los valores que se asignan a las variables booleanas son literales
booleanos
•VERDADERO, FALSO y NULO son los literales booleanos
DECLARE
v_new_customer BOOLEAN := FALSE;
v_fee_paid BOOLEAN := TRUE;
v_diploma BOOLEAN := NULL;
BEGIN
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 20
Reconocimiento de unidades léxicas PL /SQL
Comentarios
•Los comentarios explican lo que intenta lograr un fragmento de código
•Los comentarios bien ubicados son extremadamente valiosos para el código
legibilidad y mantenimiento futuro del código
•Los comentarios deben describir el propósito y el uso de cada
bloque de código
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 21
Reconocimiento de unidades léxicas PL /SQL
Sintaxis para comentar código
•Dos formas de indicar comentarios en PL / SQL
•Al comentar una sola línea, use dos guiones (-)
•Al comentar varias líneas, comience el comentario
con / * y terminar el comentario con * /
DECLARE
-- converts monthly salary to annual salary
v_montly_sal NUMBER(9,2);
v_annual_sal NUMBER(9,2);
BEGIN -- begin executable section
…
/* Compute the annual salary based on the
monthly salary input from the user */
v_annual_sal := v_monthly_sal * 12;
END; -- end block
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 22
Reconocimiento de unidades léxicas PL /SQL
Terminología
•Los términos clave utilizados en esta lección incluyen:
-Unidades léxicas
-Identificadores
-Palabras reservadas
-Delimitadores
-Literales
-Comentarios
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 23
Reconocimiento de unidades léxicas PL /SQL
Resumen
•En esta lección, debería haber aprendido a:
-Enumere y defina los diferentes tipos de unidades léxicas disponibles en PL / SQL
-Describir identificadores e identificar identificadores válidos e inválidos en PL / SQL
-Describir e identificar palabras reservadas, delimitadores, literales y
comentarios en PL / SQL
PLSQL 2-2 Copyright © 2020, Oracle y / o sus afiliados. Reservados todos los derechos. 24
Reconocimiento de unidades léxicas PL /SQL