Lecc02
Copyright © EDCON Tecnologías de Información, 2008.
Copyright © 2006, Oracle. All rights reserved.
Objetivos
Al completar la lección podrá realizar lo siguiente:
•
•
•
•
•
•
Distinguir identificadores válidos e inválidos
Listar el uso de variables
Declarar e inicializar variables
Listar y describir varios tipos de dato
Identificar los beneficios de usar elatributo %TYPE
Declarar, usar, e imprimir variables bind (de
enlace)
Copyright © Oracle Corporation, 2-2
2001. All rights reserved.
Uso de Variables
Las variables pueden usarse para:
•
•
•
Almacenamiento temporal de datos
Manipulación de valores almacenados
Usarse de nuevo
SELECT
first_name,
department_id
INTO
emp_fname,
emp_deptno
FROM …
Jennifer emp_fname
10 emp_deptno
Copyright © OracleCorporation, 2-3
2001. All rights reserved.
Identificadores
Los identificadores son usados para:
•
•
Nombrar una variable
Proporcionan convenciones para el nombre de
variables
–
Deben comenzar con una letra
–
Pueden incluir letras o números
–
Pueden incluir caracteres especiales (tales como el
signo de dólar, guión bajo, signo de libra)
–
Se limita a 30 caracteres
–
No se usan palabrasreservadas
Copyright © Oracle Corporation, 2-4
2001. All rights reserved.
Manejando Variables en PL/SQL
Las variables son:
•
Declaradas e inicializadas en la sección de
declaración
•
Usadas y con asignación de nuevos valores en la
sección de ejecución
•
Pasadas como parámetros a subprogramas
PL/SQL
•
Usadas para atrapar la salida de un subprograma
PL/SQL
Copyright © Oracle Corporation,2-5
2001. All rights reserved.
Declarando e Inicializando
Variables PL/SQL
Sintaxis
identifier [CONSTANT] datatype [NOT NULL]
[:= | DEFAULT expr];
Ejemplos
DECLARE
emp_hiredate
emp_deptno
location
c_comm
DATE;
NUMBER(2) NOT NULL := 10;
VARCHAR2(13) := 'Atlanta';
CONSTANT NUMBER := 1400;
Copyright © Oracle Corporation, 2-6
2001. All rights reserved.
Declarando e Inicializando
Variables PL/SQL1
2
SET SERVEROUTPUT ON
DECLARE
Myname VARCHAR2(20);
BEGIN
DBMS_OUTPUT.PUT_LINE('My name is: '||Myname);
Myname := 'John';
DBMS_OUTPUT.PUT_LINE('My name is: '||Myname);
END;
/
SET SERVEROUTPUT ON
DECLARE
Myname VARCHAR2(20):= 'John';
BEGIN
Myname := 'Steven';
DBMS_OUTPUT.PUT_LINE('My name is: '||Myname);
END;
/
Copyright © Oracle Corporation, 2-7
2001. All rights reserved.
Delimitadores enLiterales Caracter
SET SERVEROUTPUT ON
DECLARE
event VARCHAR2(15);
BEGIN
event := q'!Father's day!';
DBMS_OUTPUT.PUT_LINE('3rd Sunday in June is :
'||event);
event := q'[Mother's day]';
DBMS_OUTPUT.PUT_LINE('2nd Sunday in May is :
'||event);
END;
/
Copyright © Oracle Corporation, 2-8
2001. All rights reserved.
Tipos de Variables
•
•
Variables PL/SQL:
–
Escalares
–
Compuestas
–
Dereferencia
–
Objetos Largos (LOB)
Variables No-PL/SQL: Variables bind
Copyright © Oracle Corporation, 2-9
2001. All rights reserved.
Tipos de Variables
TRUE
25-JAN-01
The soul of the lazy man
desires, and he has nothing;
but the soul of the diligent
shall be made rich.
256120.08
Copyright © Oracle Corporation,2-10
2001. All rights reserved.
Atlanta
Directrices para Declarar e InicializarVariables PL/SQL
•
•
•
•
Seguir convenciones de nomenclatura.
Usar nombres significativos para las variables.
Inicializa variables designadas como NOT NULL y
CONSTANT.
Inicializar variables con el operador de asignación
(:=) o con la palabra reservada DEFAULT:
Myname VARCHAR2(20):='John';
Myname VARCHAR2(20) DEFAULT 'John';
•
Declarar un identificador por línea para una mejor
legibilidad ymantenimiento de código.
Copyright © Oracle Corporation,2-11
2001. All rights reserved.
Directrices para Declarar Variables PL/SQL
•
Evitar usar nombres de columnas como
identificadores.
DECLARE
employee_id NUMBER(6);
BEGIN
SELECT
employee_id
INTO
employee_id
FROM
employees
WHERE
last_name = 'Kochhar';
END;
/
•
Usar la restricción NOT NULL cuando la variable
debe tener un valor.
Copyright © Oracle...
Regístrate para leer el documento completo.