Upload
rodolfo-valdes-gutierrez
View
235
Download
1
Embed Size (px)
DESCRIPTION
ppt
Citation preview
• La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar páginas HTML dinámicamente como respuesta
PL-SQL, Oracle• PL/SQL (Procedural Language/SQL) es una
extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniéndose como resultado un lenguaje estructural mas poderoso que SQL.
• La programación utilizada es el bloque.
• DECLAREo Sección declarativa: variables, tipos, y
subprogramas de uso local• BEGIN
o Sección ejecutable: las instrucciones procedimentales, y de SQL aparecen aquí. Es la única sección obligatoria en el bloque.
• EXCEPTIONo Sección de manejo de excepciones. Las
rutinas de manejo de errores aparecen aquí
• END;
Ejemplo 1• DECLARE
o nombre VARCHAR(20);o precio NUMBER(6,2);
• DECLAREo Aux_propiedad propiedd.id_propiedad%TYPE;
• DECLAREo cantidad NUMBER := 300;
Sentencia IF• IF (condicion)
o THEN (lista de acciones)o ELSE (lista de acciones)
• END IF;
• Ó• IF . . . THEN . . .
o ELSIF . . . THEN . . .o ELSIF . . . THEN . . .o .o .o .o ELSE . . .
• END IF;
Loop• LOOP
o lista_de_instrucciones
• END LOOP;
• Al menos alguna de las instrucciones debe ser:• EXIT WHEN condicion;
Ejemplos PL/SQL• set serveroutput on;
• DECLARE• resultado NUMBER;• dato number := 20;• BEGIN• resultado := dato + 30;• dbms_output.put_line('Resultado de la suma: '||
resultado||' ---- '||dato);• END;
• DECLARE• resultado NUMBER := 10;• dato number := 20;• BEGIN• if (dato > resultado) then• dbms_output.put_line('el valor de dato es
mayor que resultado: '||dato||' ---- '||resultado);• else• dbms_output.put_line('el valor de resultado
es mayor que dato: '||resultado||' ---- '||dato);• end if;• END;
• DECLARE• dato number := 1;• BEGIN• loop• EXIT WHEN dato=11;• dato := dato + 1;• dbms_output.put_line('paso.. '||dato);• • end loop;• dbms_output.put_line('FIN... ');• END;
• DECLARE• dato number := 1;• BEGIN• WHILE (dato <= 10) loop• • dato := dato + 1;• dbms_output.put_line('paso.. '||dato);• • end loop;• dbms_output.put_line('FIN... ');• END;
• DECLARE• dato number := 1;• BEGIN• for dato in 1..10 loop• • dbms_output.put_line('paso.. '||dato);• • end loop;• dbms_output.put_line('FIN... ');• END;
Procedimiento almacenado
• Los procedimientos almacenados en Oracle, permiten invocar fácilmente instrucciones de tipo DML (insert, delete, update) pero son particularmente complejos cuando se invocan consultas select.
Sintaxis• CREATE [ OR REPLACE] • PROCEDURE <procedure_name> • [( <param1> [IN |OUT|IN OUT ] <type> ,• <param2> [IN |OUT|IN OUT ] <type> , ...)]
• [IS / AS ]• -- Declaración de variables locales • BEGIN • -- Sentencias • [EXCEPTION ] • -- Sentencias control de excepción • END [<procedure_name> ];