Casos

Solo disponible en BuenasTareas
  • Páginas : 3 (599 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de septiembre de 2012
Leer documento completo
Vista previa del texto
El Lenguaje PL/SQL
• Un lenguaje de prop´sito general orientado a la inclusi´n de sentencias SQL
o
o
• Estructura del c´digo PL/SQL. Bloques:
o
DECLARE

BEGIN
sentencias PL/SQL
END;

•Los ficheros terminan con el caracter /
• Uso de SHOW ERRORS.

1

EJEMPLOS
• Un ejemplo trivial:
DECLARE
parametro NUMBER(3):=123;
BEGIN
IF parametro=123 THEN DBMS OUTPUT.PUT(’El valor es el’);
DBMS OUTPUT.PUT LINE(parametro);
ELSE DBMS OUTPUT.PUT LINE(’Hay un error.’);
END IF;
END;

• Uso de SET SERVEROUTPUT ON.

2

El Lenguaje PL/SQL
• Sentencia DECLARE:
DECLARE
numeroNUMBER(3);
fecha DATE;
cadena VARCHAR2(3);
columna codigo EMPLEADOS.CODIGO EMPLEADO%TYPE;
registro empleados EMPLEADOS%ROWTYPE;
BEGIN
sentencias PL/SQL
END;

3

Manejo de Tablas
• SELECT...INTO ...FROM ...WHERE ...;
DECLARE
codigo EMPLEADOS.CODIGO EMPLEADO%TYPE;
nombre EMPLEADOS.NOMBRE%TYPE;
primer apellido EMPLEADOS.APELLIDO1%TYPE;
segundo apellido EMPLEADOS.APELLIDO2%TYPE;
BEGINcodigo:=1;
SELECT nombre, apellido1, apellido2
INTO

nombre, primer apellido, segundo apellido

FROM

EMPLEADOS

WHERE

codigo empleado=codigo;

DBMS OUTPUT.PUT LINE(’La tupla se haleido’);
INSERT INTO LISTADO
VALUES (codigo,nombre, primer apellido, segundo apellido);
DBMS OUTPUT.PUT LINE(’La tupla se ha insertado’);
END;
4

Sentencias de Control
• Sentencia de Selecci´n
oIF condicion1 THEN ...
ELSIF condicion 2 THEN ...
ELSE condicion 3 ...
END IF;

• Sentencia LOOP:
LOOP
...
EXIT etiqueta WHEN condicion ;
...
END LOOP;

5

´
Ejemplo IteracionDECLARE
codigo EMPLEADOS.CODIGO EMPLEADO%TYPE;
nombre EMPLEADOS.NOMBRE%TYPE;
primer apellido EMPLEADOS.APELLIDO1%TYPE;
segundo apellido EMPLEADOS.APELLIDO2%TYPE;
maximo EMPLEADOS.CODIGO EMPLEADO%TYPE;BEGIN

codigo:=1;
SELECT Max(Codigo Empleado) INTO maximo FROM EMPLEADOS;
FOR indice IN 1..maximo LOOP
SELECT codigo empleado, nombre, apellido1, apellido2
INTO codigo, nombre, primer...
tracking img