ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Procedimientos Almacenados


Enviado por   •  3 de Febrero de 2013  •  664 Palabras (3 Páginas)  •  1.115 Visitas

Página 1 de 3

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 edad > 18 then

insert into registrodif values(nombre,edad,email);

end if;

end;

//

...

Descargar como (para miembros actualizados)  txt (5.9 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com