Entradas

Mostrando entradas de 2016

CURSORES EXPLÍCITOS Y PROCEDURES EN ORACLE DATABASE 11G

/*CURSORES EXPLICITOS*/ --habilitar salida archivo de comandos set serveroutput on; declare cursor c1 is     select country_id, country_name from countries;     v_id countries.country_id%type;     v_nom countries.country_name%type; begin   open c1;   dbms_output.put_line('ID' || ' ' || 'Nombre');   loop     FETCH c1 into v_id, v_nom;     exit when c1%notfound;     dbms_output.put_line(v_id || ' ' || v_nom);     end loop;   close c1; end; /*PROCEDURE CON CURSOR*/ create or replace procedure usp_buscar_region_x_pais(reg_id in number) is begin   declare cursor c2   is     select country_id, country_name from countries     where region_id = reg_id;     v_id countries.country_id%type;     v_nom countries.country_name%type;   begin     open c2;     loop       fetch c2 into v_id, v_nom;       exit when c2%notfound;       dbms_output.put_line(v_id || ' ' || v_nom);     end loop;     close c2;   end; end; --EJECUTA

Funciones en Oracle DataBase 11g XE

/*Creación de Funciones con HR*/ --Funcion que halla el 10% del salario create or replace function f_bono_emp(salario number) return number is begin return (salario * 0.10); end; --Probar begin   dbms_output.put_line('Bono Salario: ' || f_bono_emp(1500)); end; --Funcion que obtiene el Maximo Salario de los empleados create or replace function f_Maximo_Salario return number is v_sal employees.salary%type; begin select max(salary) into v_sal from employees; return v_sal; end; --Probar begin   dbms_output.put_line('Maximo Salario: ' || f_Maximo_Salario()); end; --Funcion que halla el 10% del salario create or replace function f_Salario_emp(p_cod in char) return number is v_sal employees.salary%type; begin select salary into v_sal from employees where employee_id=p_cod; return v_sal; end; --Probar begin   dbms_output.put_line('Salario: ' || f_Salario_emp(200)); end;

Procedimientos con Oracle DataBase 11g XE

/*Creación de Procedimientos con HR*/ --habilitar salida de archivo de comandos set serveroutput on; --Procedimiento para Agregar Registros create or replace procedure pa_insertar_paises (p_id in char, p_name in varchar2, p_regid in number) is begin   insert into countries   values(p_id, p_name, p_regid);   dbms_output.put_line('Se Registro el Pais'); end; --probar begin   pa_insertar_paises('PE','Perú',2); end; --VER select * from countries where country_id='PE'; --Registrar Nuevo Pais begin   pa_insertar_paises('CO','Colombianas',3); end; --VER select * from countries where country_id='CO'; /*Procedimiento para Actualizar Registros*/ create or replace procedure pa_actualizar_pais (p_name varchar2, p_codreg number, p_id char) is begin   update countries set country_name = p_name,   region_id = p_codreg   where country_id = p_id;   dbms_output.put_line('Se Actualizo el Pais'); end; --prob