Es un conjunto de comandos que pueden ser ejecutados directamente en el servidor, es decir, será ejecutado por el servidor de Base de Datos y no por el programa cliente que lo accede, permitiendo la ejecución de una acción o conjunto de acciones específicas.
1. EQUIPO : Investigation Systems
Estudiantes : Aguilar Rafael Jaime
Diaz Guerrero Imer Hobet
CURSO : Base de Datos II
TEMA : PROCEDIMIENTOS ALMACENADOS
DOCENTE : Marco Aurelio Porro Chulli
Ingeniería de Sistemas y Telemática
3. Ingeniería de Sistemas y Telemática
CONCEPTO
Es un conjunto de comandos que pueden
ser ejecutados directamente en el servidor,
es decir, será ejecutado por el servidor
de Base de Datos y no por el programa
cliente que lo accede, permitiendo la
ejecución de una acción o conjunto de
acciones específicas.
4. Ingeniería de Sistemas y Telemática
Incluir parámetros
Llamar a otros procedimientos
Devolver un valor de estado a un
procedimiento de llamada o lote
para indicar el éxito o el fracaso del
mismo y la razón de dicho fallo.
Los procedimientos almacenados pueden:
5. Ingeniería de Sistemas y Telemática
SINTAXIS
CREATE [ OR ALTER ] { PROC | PROCEDURE }
[schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ = default ] [ OUT | OUTPUT ] [READONLY]
] [ ,...n ]
[ WITH EXECUTE AS Clause ]
AS
{ EXTERNAL NAME
assembly_name.class_name.method_name }
[;]
6. Ingeniería de Sistemas y Telemática
TIPOS DE PROCEDIMIENTOS
Definidos por el Usuario
• se puede crear en una BD definida por el
usuario o en todas las bases de datos del
sistema excepto en la base de
datos Resource.
Temporales
• son una forma de procedimientos definidos
por el usuario.
• se almacenan en tempdb.
7. Ingeniería de Sistemas y Telemática
TIPOS DE PROCEDIMIENTOS
Sistema
• Están almacenados físicamente en la base
de datos interna y oculta Resource y se
muestran de forma lógica en el
esquema sys de cada base de datos
definida por el sistema y por el usuario
Extendidos definidos por el usuario
• Los procedimientos extendidos le permiten
crear sus propias rutinas externas en un
lenguaje de programación como puede ser
8. Ingeniería de Sistemas y Telemática
Administración de Procedimientos Almacenados
(Creación, Modificación y Eliminación)
9. Ingeniería de Sistemas y Telemática
CREACIÓN
CREATE PROCEDURE sp_Total
(@col1 char (3)
AS
BEGIN
SELECT SUM(CANTIDAD*PRECIO)
FROM DetalleDocumento D
WHERE D.idserie = @col1;
END;
10. Ingeniería de Sistemas y Telemática
MODIFICACIÓN
ALTER PROCEDURE sp_modificar_cliente
(@id_cliente INT
,@nombre_cliente VARCHAR (20)
,@apellido_cliente VARCHAR (20))
WITH ENCRYPTION
AS
UPDATE CLIENTE
SET
NOMBRE=@nombre_cliente,APELLIDO=@apellido_cliente
WHERE IDCLIENTE=@id_cliente;
11. Ingeniería de Sistemas y Telemática
ELIMINAR
DROP { PROC | PROCEDURE }
{ [ schema_name. ] procedure }
[ ,...n ]
DROP PROCEDURE nombre_procedimiento
13. Ingeniería de Sistemas y Telemática
1.CREATE PROCEDURE SP_CLIENTES
AS
SELECT IDCLIENTE AS CODIGO,
NOMBRECIA AS CLIENTE, DIRECCION,
TELEFONO
FROM VENTAS.CLIENTES
GO
14. Ingeniería de Sistemas y Telemática
CREATE PROCEDURE SP_PEDIDOSFECHAS
@col1 DATETIME
AS
SELECT *
FROM VENTAS.PEDIDOSCABE
WHERE FECHAPEDIDO = @col1
GO
-- EJECUTANDO EL PROCEDIMIENTO
ALMACENADO
EXEC USP_PEDIDOSBYFECHAS @F1='10-01-1996'
GO