Oracle - ayuda con un procedimiento en oracle

   
Vista:

ayuda con un procedimiento en oracle

Publicado por kendal (1 intervención) el 19/04/2011 09:15:22
buenas, soy nuevo en oracle necesito hacer un procedimiento que seleccione la cantidad de empleados por departamento y region y los inserte en una tabla. esto es lo que he hecho. no se porque no me sirve o si esta totalmente malo. espero que me puedan ayudar. gracias.

create or replace procedure cant_emp(region_id in number, department_id in number, employee_id in number)
is
region number;
departamento number;
empleado number;
cursor micursor is

select region_id, department_id, count(employee_id) from HR.employees, hr.regions;

begin

open micursor;
fetch micursor into region, departamento,empleado;
if(micursor%found)then
insert into empleados(region_cod, departamento_cod, cant_empleados)
values(region, departamento, empleado);
commit;
else
rollback;

end if;

close micursor;

end cant_emp;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda con un procedimiento en oracle

Publicado por ulises (39 intervenciones) el 06/05/2011 00:55:30
Create Or Replace Procedure Cant_Emp(Region_Id In Number, Department_Id In Number, Employee_Id In Number) Is
Region Number;
Departamento Number;
Empleado Number;
Cursor Micursor Is
Select Region_Id, Department_Id, Count(Employee_Id)
From Hr.Employees, Hr.Regions
group by Region_Id, Department_Id; -- como tenes una funcion de agrupamiento hay que colocar una agrupacion
Begin
---supongo que en la tabla hay mas de un registro y de esta forma solo es para un registro si hay mas de un resgistro mejor un ciclo
/*
Open Micursor;
Fetch Micursor
Into Region, Departamento, Empleado;
If (Micursor%Found) Then
Insert Into Empleados
(Region_Cod, Departamento_Cod, Cant_Empleados)
Values
(Region, Departamento, Empleado);
Commit;
Else
Rollback;
End If;
Close Micursor;
*/
for x in Micursor loop
Insert Into Empleados
(Region_Cod, Departamento_Cod, Cant_Empleados)
Values
(Region, Departamento, Empleado);
Commit;
end loop;
End Cant_Emp;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con un procedimiento en oracle

Publicado por victor manuel the_victor_09@hotmail.com (2 intervenciones) el 21/07/2011 20:00:06
Saludos para todos....

Primero que nada necesito ayuda en una practica que tengo; para realizar bloques en pl/sql en el cual necesito ayuda y quisiera que alguien me de una pequeña ayuda. Les doy Gracias por su atención. Y quisiera una respuesta lo mas rápido posible si pueden.

Aquí les dejo los Requisitos!!!



1. Crea un bloque simple de PL/SQL. Declara los variables siguientes: vNum del tipo Number (el valor
del inicio 0, incrementalo a 1 antes de cada selección), vName del tipo Varchar2(45), vSal del tipo del
campo “Salary” de tabla “Employees”, vCom del tipo Number(14,2). Selecciona los valores de la tabla
“Employees “ a variables 2-4 correspondiente: Nombre y Apellido del Empleado, su salario mensual, el
monto de comisiones.


Selecciona los datos para el empleado con código 100, 117, 130, 175. Imprimirlos para cada registro
seleccionado como la muestra: “No_registro. Nombre_de_Empleado gana Monto_de_Salario mas
Monto_de_Comisiones pesos mensualmente” (por ejemplo “1. Shelli Baida gana 2900 mas 435 pesos
mensualmente”).
Procesa los datos para obtener al imprimir el registro como así “Shelli Baida gana $2,900 mas $435
mensualmente”)
Nota: Si los porcientos de comisiones no tienen valor pone por defecto 10%.
2. Modifica el bloque que fue creado en 1 para que él permita ingresar el código antes de ejecutar.
Imprime los datos para el empleado con código 100, 117, 130, 175.
3. Crea un bloque PL/SQL que permite ingresar la fecha antes de ejecutarlo, increméntala a 1mes y 12
días e imprime el resultado en el formato siguiente “DD NOMBRE_DEL_MES, AÑO” (por ejemplo, “12
julio, 2009”). Ejecútalo para las fechas 15/09/2009 y 22/12/2009.


4. Modifica el bloque que fue creado en 2. Agrega a la declaración 2 variables vMgr del tipo del campo
“Manager_id” de la tabla “Employee” y vEst del tipo boolean. Obtiene al primero el código del manager
del empleado. Usando vEst imprime la frase siguiente “Nombre_del_Empleado tiene manager” o
“Nombre_del_Empleado no tiene manager” (por ejemplo, “Shelli Baida tiene manager”). Imprime los
datos para el empleado con código 100, 117, 130, 175
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con un procedimiento en oracle

Publicado por javi (1 intervención) el 30/08/2012 19:00:59
Tio, tu quieres que te hagamos el ejercicio?
Dinos si lo has empezado, como lo has hecho o que error te da.
Asi yo tambien estudio Oracle y me saco titulos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar