EQUIPO : Investigation Systems
Estudiantes : Aguilar Rafael Jaime
Diaz Guerrero Imer Hobet
CURSO :
Base de Datos II
TEMA : PROCEDIMIENTOS
ALMACENADOS
DOCENTE :
Marco Aurelio Porro Chulli
------------------------------------------------------------------------------------------
I. Tema: Procedimientos
Almacenados
1.
Contenido
v Definición:
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.
Los procedimientos
almacenados son grupos formados por instrucciones SQL y el lenguaje de
control de flujo. Cuando se ejecuta un procedimiento, se prepara un plan de
ejecución para que la subsiguiente ejecución sea muy rápida. Los procedimientos
almacenados pueden:
ü 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.
ü Devolver
valores de parámetros a un procedimiento de llamada o Lote
ü Ejecutarse
en SQL Server remotos
v Sintaxis
Los procedimientos
almacenados se crean con CREATE PROCEDURE. Para ejecutar un
procedimiento almacenado, ya sea un procedimiento del sistema o uno definido
por el usuario, use el comando EXECUTE. También, puede utilizar
el nombre del procedimiento almacenado solo, siempre que sea la primera palabra
de una instrucción o lote.
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 }
[;]
TIPOS
DE PROCEDIMIENTOS ALMACENADOS
v Definidos
por el usuario
Un procedimiento definido por el usuario se puede crear en una base de datos definida por el usuario o en todas las bases de datos del sistema excepto en la base de datos Resource.
Un procedimiento definido por el usuario se puede crear en una base de datos definida por el usuario o en todas las bases de datos del sistema excepto en la base de datos Resource.
v Temporales
Los procedimientos temporales son una forma de procedimientos definidos por el usuario. Los procedimientos temporales son iguales que los procedimientos permanentes salvo porque se almacenan en tempdb. Hay dos tipos de procedimientos temporales: locales y globales. Se diferencian entre sí por los nombres, la visibilidad y la disponibilidad. Los procedimientos temporales locales tienen como primer carácter de sus nombres un solo signo de número (#); solo son visibles en la conexión actual del usuario y se eliminan cuando se cierra la conexión. Los procedimientos temporales globales presentan dos signos de número (##) antes del nombre; son visibles para cualquier usuario después de su creación y se eliminan al final de la última sesión en la que se usa el procedimiento.
Los procedimientos temporales son una forma de procedimientos definidos por el usuario. Los procedimientos temporales son iguales que los procedimientos permanentes salvo porque se almacenan en tempdb. Hay dos tipos de procedimientos temporales: locales y globales. Se diferencian entre sí por los nombres, la visibilidad y la disponibilidad. Los procedimientos temporales locales tienen como primer carácter de sus nombres un solo signo de número (#); solo son visibles en la conexión actual del usuario y se eliminan cuando se cierra la conexión. Los procedimientos temporales globales presentan dos signos de número (##) antes del nombre; son visibles para cualquier usuario después de su creación y se eliminan al final de la última sesión en la que se usa el procedimiento.
v Sistema
Los procedimientos del sistema se incluyen con SQL Server. 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. Además, la base de datos msdb también contiene procedimientos almacenados del sistema en el esquema dbo que se usan para programar alertas y trabajos. Dado que los procedimientos del sistema empiezan con el prefijo sp_, le recomendamos que no use este prefijo cuando asigne un nombre a los procedimientos definidos por el usuario.
Los procedimientos del sistema se incluyen con SQL Server. 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. Además, la base de datos msdb también contiene procedimientos almacenados del sistema en el esquema dbo que se usan para programar alertas y trabajos. Dado que los procedimientos del sistema empiezan con el prefijo sp_, le recomendamos que no use este prefijo cuando asigne un nombre a los procedimientos definidos por el usuario.
v Extendidos
definidos por el usuario
Los procedimientos extendidos le permiten crear sus propias rutinas externas en un lenguaje de programación como puede ser C. Estos procedimientos son DLL que una instancia de SQL Server puede cargar y ejecutar dinámicamente.
Los procedimientos extendidos le permiten crear sus propias rutinas externas en un lenguaje de programación como puede ser C. Estos procedimientos son DLL que una instancia de SQL Server puede cargar y ejecutar dinámicamente.
v Administración de Procedimientos Almacenados (Creación,
Modificación y Eliminación)
Creación:
CREATE
PROCEDURE sp_Total
(@col1 char (3)
AS
BEGIN
SELECT
SUM(CANTIDAD*PRECIO)
FROM
DetalleDocumento D
WHERE D.idserie
= @col1;
END;
Modificacion:
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;
Eliminación:
DROP
{ PROC | PROCEDURE }
{
[ schema_name. ] procedure
}
[ ,...n ]
DROP
PROCEDURE nombre_procedimiento
v Ejemplos
1. CREATE PROCEDURE SP_CLIENTES
AS
SELECT IDCLIENTE AS CODIGO, NOMBRECIA AS CLIENTE, DIRECCION, TELEFONO
FROM VENTAS.CLIENTES
GO
2. 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
2.
Resumen
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.
Sintaxis
Los procedimientos almacenados
se crean con CREATE PROCEDURE. Para ejecutar un procedimiento almacenado, ya
sea un procedimiento del sistema o uno definido por el usuario, use el comando
EXECUTE. También, puede utilizar el nombre del procedimiento almacenado solo,
siempre que sea la primera palabra de una instrucción o lote.
TIPOS DE PROCEDIMIENTOS
ALMACENADOS
·
Temporales
·
De sistema
·
Definidos por el
usuario
·
Extendidos por el
usuario
3.
Summary
Definition
It is a set of commands that can be executed directly on the server, that is, it will be executed by the Database server and not by the client program that accesses it, allowing the execution of an action or set of specific actions.
It is a set of commands that can be executed directly on the server, that is, it will be executed by the Database server and not by the client program that accesses it, allowing the execution of an action or set of specific actions.
Syntax
The stored
procedures are created with CREATE PROCEDURE. To execute a stored procedure,
either a system procedure or a user-defined procedure, use the EXECUTE command.
Also, you can use the name of the stored procedure alone, provided it is the
first word of an instruction or batch.
TYPES OF STORED PROCEDURES
• Temporary
• System
• Defined by the
user
• Extended by
the user
4.
Recomendaciones
v
Se recomienda utilizar procedimientos almacenados cuando
múltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan
en distintas plataformas, pero necesitan realizar la misma operación en la base
de datos.
v
Se recomienda reutilizar el procedimiento y este
puede ser llamado desde diferentes aplicaciones y lenguajes. Sólo lo
programaremos una vez.
v
Para crear un
procedimiento almacenado se recomienda utilizar la palabra reservada CREATE
PROCEDURE.
5.
Conclusiones
v La posibilidad de escribir procedimientos almacenados
mejora notablemente la potencia, eficacia y flexibilidad de SQL.
v Los procedimientos compilados mejoran la ejecución de las
instrucciones y lotes de SQL de forma dramática.
v Los procedimientos almacenados pueden ejecutarse en otro SQL
Server si el servidor del usuario y el remoto están configurados para
permitir logins remotos.
6.
Apreciación del equipo
v
Pueden mejorar el rendimiento ya que se necesita
enviar menos información entre el servidor y el cliente. El intercambio que hay
es que aumenta la carga del servidor de la base de datos ya que la mayoría del
trabajo se realiza en la parte del servidor y no en el cliente.
v
Como equipo hemos opinamos que los procedimientos almacenados
son módulos o rutinas que encapsulan código para su reutilización.
v
Son de mucha
importancia para los programadores o desarrolladores de software.
7.
Glosario de Términos
v Logins remotos: Un acceso remoto es poder
acceder desde una computadora a un recurso ubicado físicamente en otra
computadora que se encuentra geográficamente en otro lugar, a través de
una red local o externa (como Internet).
v Sp_: Es el prefijo que se les da a los procedimientos almacenados.
v Base de Datos Resource: Es de solo lectura y
contiene todos los objetos del sistema que se incluyen con SQL Server.
v Parámetro: es una variable utilizada para recibir valores de entrada en
una rutina, subrutina o método. Dichos valores, que serán enviados desde la
rutina invocante, son llamados argumentos.
v Schema Sys: Es un esquema de la base de datos, definida por el Sistema.
v DLL (Data Definition Language) que permiten crear y
definir nuevas bases de datos, campos e índices.
v CREATE: Este comando crea
un objeto dentro del gestor de base de datos. Puede ser una base de datos,
tabla, índice, procedimiento almacenado o vista.
v ALTER: Este comando
permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a
una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla,
modificar un trigger, etc.
v DROP: Empleado para
eliminar tablas e índices.
v PROCEDIMIENTOS
TEMPORALES: son una forma de procedimientos
definidos por el usuario. Los procedimientos temporales son iguales que
los procedimientos permanentes salvo porque se almacenan en tempdb. Hay dos
tipos de procedimientos temporales: locales
y globales
8.
Bibliografía o Linkografía
https://docs.microsoft.com/es-es/sql/relational-databases/stored-procedures/stored-procedures-database-engine?view=sql-server-2017
LINK DE DIAPOSITIVAS
https://es.slideshare.net/JaimeAguilarRafael1/procedimientos-almacenados-96054279
VIDEOS
LINK DE DIAPOSITIVAS
https://es.slideshare.net/JaimeAguilarRafael1/procedimientos-almacenados-96054279
VIDEOS
No hay comentarios :
Publicar un comentario