Procedimientos Almacenados
Enviado por JORG3000 • 3 de Febrero de 2013 • 664 Palabras (3 Páginas) • 1.156 Visitas
NOMBRE DEL ALUMNO:
Jorge Alberto Carrera De la o
MATERIA:
Fundamentos de Base de Datos
NOMBRE DEL MAESTRO:
ISC. Roberto Zamudio Portilla
GRUPO:
503-A
MATRICULA:
105Q0178
Procedimientos almacenados
1.- Que es un procedimiento almacenado
Un procedimiento almacenado es un pequeño programa que se almacena en la base de datos y se puede ejecutar cuando se considere necesario mediante la llamada a este procedimiento. Estos “mini-programas” están codificados en SQL adaptándonos a las reglas del SGBD con el que estemos trabajando. La mejor definición que he encontrado para definirlos es la siguiente:”un conjunto de instrucciones escritas en lenguaje Transact-SQL (T-SQL) compiladas y ejecutadas dentro de una base de datos relacional”.
2.- Sintaxis de los procedimientos almacenados en mySQL, Oracle y SQL Server
MySQL
delimiter //
CREATE procedure miProc(IN p1 int) /* Parámetro de entrada */
Begin
declare miVar int; /* se declara variable local */
SET miVar = p1 +1 ; /* se establece la variable */
IF miVar = 12 then
INSERT INTO lista VALUES(55555);
Else
INSERT INTO lista VALUES(7665);
End if;
End;
//
Oracle
CREATE [OR REPLACE] PROCEDURE nombre_procedimiento ([parametros])
IS
[zona de declaraciones]
BEGIN
[zona de ejecución]
EXCEPTION
[zona de excepciones]
END nombre_procedimiento;
CREATE OR REPLACE PROCEDURE SUMA_NUMEROS (primer_numero IN NUMBER, segundo_numero IN NUMBER, resultado OUT NUMBER)
IS
BEGIN
resultado:=primer_numero+segundo_numero;
END;
SQL SERVER
create procedure almacenar_alumnos @codigo nvarchar(9),
@nombre nvarchar(100), @apellido nvarchar(100), @edad int,
@universidad nvarchar(60)
as
begin
insert into alumnos
values (@codigo,@nombre,@apellido,@edad,@universidad)
end
3. Como se ejecuta un procedimiento almacenado en cada uno de esos gestores.
MySQL
Para comprobar que el proceso esta bien hecho se puede ejecutar en el mismo SGBD sin necesidad de tener que programar y hacer la llamada desde un fichero. La manera es usando el comando exec. Viendo el procedimiento anterior esta podría ser la manera de llamarlo:
EXEC insertar_cliente ‘Pedro’, ‘Herrarte’, ‘Sanchez’, ‘00000002323′, convert(datetime,‘13/05/1975′, 103)
Oracle
Para poder llamar el procedimiento del anterior ejemplo y probarlo, podemos hacer lo siguiente:
DECLARE
resultado int;
BEGIN
SUMA_NUMEROS(20,30,resultado);
dbms_output.put_line('Resultado de la suma: ' || resultado);
END;
SQL SERVER
exec almacenar_alumnos '001','Fabian','Berman','19','Tecnologico Sudamericano'
4. Escribir 5 ejemplos de procedimientos almacenados colocando la sintaxis que debe seguirse en cada gestor mencionado
MySQL
create procedure addautomovil(in nombre varchar(50),in plazas int)
begin
if plazas < 3 then
insert into coche values(nombre,plazas);
else
insert into monovolumen values(nombre,plazas);
end if;
end;
//
create procedure addpersona(in nombre varchar(50),in edad int, in email varchar(20))
begin
if
...