Vous êtes sur la page 1sur 5

TECNOLGICO DE ESTUDIOS SUPERIORES

Chalco, Edo de Mx
ING. SISTEMAS COMPUTACIONALES

PRACTICA 4: PROCEDIMIENTOS ALMACENADOS

ALUMNO: Gutirrez Heredia Zarina

DOCENTE: Ing. Virginia Aguilar Guerrero

ASIGNATURA: Taller de Base de Datos

QUINTO SEMESTRE GRUPO: 4501

FECHA DE ENTREGA: 14 de mayo de 2015

PROCEDIMIENTOS ALMACENADOS
Objetivo:
Identificar y crear procedimientos almacenados que ayuden a realizar algunas tareas o procesos.
1. Crear la siguiente tabla.

2. Crear un procedimiento para insertar un nuevo ALUMNO en la tabla ALUMNO. Los


parmetros del procedimiento son los valores de los atributos del ALUMNO. Para obtener
el valor de la clave primaria del nuevo IDUSUARIO, utilizamos una secuencia que la
genere automticamente.
3. Ejecute el procedimiento almacenado.
4. Consulta la tabla ALUMNO.
5. Ejecute el procedimiento creado anteriormente enviando otros variables.
6. Crear un procedimiento almacenado el cual MODDIFIQUE la nota del alumno en un
incrento (parmetro "aincremento" de tipo numerico);
7. Ejecute el procedimiento almacenado.
8. Consulta la tabla empleados con el incremento de salario.

Desarrollo:
1. Creamos nuestra base de datos en Oracle y entramos en ella

2. Se crea la tabla alumno de la siguiente manera:


Cdigo:
create table alumno (idalumno number primary key, nombre varchar(10), apellido varchar
(10), nota number);
Ejecucin:

3. Posteriormente se cre un procedimiento en el cual insertamos todos los registros de los


alumnos, sin necesidad de insertarlos manualmente por medio del cdigo. Los parmetros
que se utilizaron para crear dicho procedimiento fueron los atributos de la tabla. Se obtuvo
la clave primaria por medio de una secuencia, la cual genera dicha clave automticamente.
Esto lo hicimos de la siguiente forma:
Secuencia:
Cdigo:
Create sequence codigoalumno1
Increment by 1
Start with 10;

Procedimiento almacenado:
Cdigo:
Create or replace procedure atributosalumnos( p_idalumno alumno.idalumno%type,
p_nombre alumno.nombre%type,
p_apellido alumno.apellido%type,
p_nota alumno.nota%type)
as
Begin
Insert into alumno (idalumno, nombre, apellido, nota) values
(codigoalumno2.nextVal, p_nombre, p_apellido, p_nota );
Commit;
End atributosalumnos;

Ejecucin:
begin
atributosalumnos (codigoalumno.nextval, 'rogelio', 'perez', 40);
end;

Consultamos la tabla con los valores que insertamos al ejecutar el procedimiento y


obtenemos lo siguiente:

4. Creamos otro procedimiento almacenado el cual realizar un incremento en la nota de


los alumnos para ello crearemos un parmetro numrico llamado incremento.
Cdigo:
Create or replace procedure incrementonota( id_alumno in number, incremento in
number) as
Begin
update alumno set nota= nota + incremento
where idalumno= id_alumno;

Commit;
End incrementonota;
Actualizacin de registros:
begin
incrementonota (21, 20);
end;
Ejecucin.

Conclusin:
En esta prctica se concluy con el funcionamiento de los productos almacenados, se practicaron
exactamente las mismas sentencias que se practicaron anteriormente. Solo que en este caso ya
no se calcul el porcentaje, aqu nada ms se increment la nota de los alumnos en un cierto
valor.

Se sigui practicando con esta sentencia y qued ms claro la declaracin de las variables que
se toman en cuenta, as como tambin la declaracin de cada uno de los campos. E incluso
tambin las sentencias que hemos estado utilizando, ya que en estos procedimientos los vemos
implementados y como lo habamos comentado anteriormente nos ahorra mucho trabajo el estar
insertando, modificando datos, etc. registro por registro.

A partir de una secuencia, podemos insertar nuestros registros, sin necesidad de estar insertando
los registros de la clave primaria ya que de esta manera los coloca automticamente sin
necesidad de estar observando la continuidad de estos.

Vous aimerez peut-être aussi