La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara.

Presentaciones similares


Presentación del tema: "UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara."— Transcripción de la presentación:

1 UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara

2 PROCEDIMIENTOS Procedimientos bloques de pl/sql utilizados para realizar o ejecutar una acción específica Los procedimientos no retornan ningún valor. Sintaxis: CREATE {OR REPLACE} PROCEDURE nombre (tipo_dato p1,… ) IS <sección DECLARE> BEGIN . {EXCEPTION} END;

3 Ejemplos Insertar una nueva categoría ( tipo de producto), seleccionando el máximo valor de la columna tipoprod_id + 1 CREATE OR REPLACE PROCEDURE insertacategoria IS maximo number; BEGIN select max(tipoprod_id)+1 into maximo from tipoproducto; insert into tipoproducto values(maximo,'CONFITERIA'); END; /

4 Como usar el sp @nom_archivo.sql --compilar
Exec nom_sp(parámetros si hay); Procedimiento creado. SQL> exec insertacategoria; Procedimiento PL/SQL terminado correctamente. Otra probabilidad podría ser ejecutar el procedimiento desde dentrol de un bloque pl

5 FUNCIONES INTRODUCCION

6 Que es una función Una función es un conjunto de instrucciones en un bloque PL/SQL que puede ser llamado utilizando el nombre con le cual fue creado Retornan siempre un valor en el nombre de la función al sitio desde donde fue llamada Una función es utilizada por lo general para realizar algún tipo de cálculo

7 SINTAXIS CREATE [OR REPLACE] FUNCTION name [(param [IN] datatype) . . .] RETURN datatype [IS|AS] Sección de daclaración de variables; BEGIN . [excepcion] END;

8 Ejemplo Elabore una función que verifique si el salario esta entre un rango CREATE OR REPLACE FUNCTION sal_ok (salary REAL, ci VARCHAR2) RETURN NUMBER IS min_sal REAL; max_sal REAL; BEGIN SELECT promingresos, promingresosmin INTO max_sal, min_sal FROM cliente WHERE cedula = ci; IF ((salary >= min_sal) AND (salary <= max_sal)) THEN RETURN 1; ELSE RETURN 0; end if; END; / En este ejemplo la instrucción return RETORNA un 1 si el salario es >=al mínimo salario Y SI el salario es >= que el salario máximo. Caso contrario retorna 0

9 Uso de la función SQL> @fun1.sql --compila la función
Función creada Define una variable del siguiente modo: SQL>var xvalor number; SQL> exec :xvalor:=sal_ok(800,' '); Procedimiento PL/SQL terminado correctamente. SQL> print xvalor XVALOR SQL> Otra probabilidad podría ser ejecutar la función desde dentrol de un bloque pl


Descargar ppt "UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara."

Presentaciones similares


Anuncios Google