Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Procedimientos almacenados
1. AREA : BASE DE DATOS II
DOCENTE : ING. MARCO AURELIO PORRO CHULLI
CARRERA : INGENIERÍA DE SISTEMAS Y TELEMÁTICA
INTEGRANTES:
CRISTHIAN SERGIO KAYAP YAGKIKAT
INGRID LESLY CORONE ACUÑA
3. DEFINICIÓN
Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones Transact-
SQL. Los procedimientos se asemejan a las construcciones de otros lenguajes de programación,
porque pueden:
Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de salida al
programa que realiza la llamada.
Contener instrucciones de programación que realicen operaciones en la base de datos. Entre otras,
pueden contener llamadas a otros procedimientos.
Devolver un valor de estado a un programa que realiza una llamada para indicar si la operación se
ha realizado correctamente o se han producido errores, y el motivo.
4.
5. ADMINISTRACION DE LOS
PROCEDIMIENTOS ALMACENADOS
CREACIÓN: Utilice la instrucción CREATE PROCEDURE para
crearlos en la base de datos. Puede añadir hasta 32 niveles.
USE Northwind GO CREATE PROC dbo.OverdueOrders AS
SELECT * FROM dbo.Orders WHERE RequiredDate < GETDATE()
AND ShippedDate IS Null GO
6. MODIFICACIÓN: Utilice la instrucción ALTER
PROCEDURE. No afecta a los procedimientos
almacenados añadidos.
USE Northwind GO ALTER PROC dbo.OverdueOrders AS
SELECT CONVERT(char(8), RequiredDate, 1) RequiredDate,
CONVERT(char(8), OrderDate, 1) OrderDate, OrderID,
CustomerID, EmployeeID FROM Orders WHERE RequiredDate
< GETDATE() AND ShippedDate IS Null ORDER BY
RequiredDate GO
7. ELIMINACIÓN: Ejecute el procedimiento almacenado sp_depends para
determinar si los objetos dependen del procedimiento almacenado.
8. Los procedimientos almacenados no son nuevos en la industria de las bases de datos, como
referenciase tiene a ORACLE, que presentó PL/SQL 2. A la publicación de este documento es
MYSQL el más reciente poseedor de procedimientos almacenados, esto invita a algunos expertos
en la materia a mencionar que con esta incorporación este DBMS ha llegado a su mayoría de edad,
aunque sin aventurarse a mencionar que pudiera ser una competencia seria para los grandes en
esta rama como lo son ORACLE Y SQLSERVER. Los procedimientos almacenados son una
herramienta que todo desarrollador debe tener en cuenta siempre, ya que proporcionan un
rendimiento en términos de velocidad e incrementan la seguridad en su sistema de base de datos,
es por ello que su empleo en los diferentes proyectos incrementa localidad del desarrollo de
software.
9. RECOMENDACIONES
El usuario debe ser el propietario de todos los procedimientos almacenados.
Un procedimiento almacenado por tarea debe de crear, probar y solucionar
problemas.
Evite sp_Prefix en los nombres de procedimientos almacenados.
Utilice la misma configuración de conexión para todos los procedimientos
almacenados.
Reduzca al mínimo la utilización de procedimientos almacenados temporales.
No elimine nunca directamente las entradas de Syscomments.
10. CONCLUSIÓN
La ejecución de un procedimiento almacenado con el prefijo "sp_" hace que MS
SQL Server siempre busque primeramente el procedimiento almacenado en el caché
de procedimientos almacenados en la base de datos master, lo cual no se refleja con
herramientas que permiten la ejecución de T-SQL. La utilización del prefijo "sp_" hace
que MS SQL Server trabaje con los procedimientos almacenados de forma similar al
modo que debe trabajar cuando no hay más memoria disponible en el servidor y no
puede agregar nuevas entradas al caché, por lo cual debe recompilar continuamente
todos los procedimientos almacenados que se ejecuten.
11. APRECIACIÓN DE EQUIPO
Los SP en general, serán realmente útiles (y aplicables) en caso de estar desarrollando
aplicaciones robustas, de categoría empresarial, o para servicios que deben ser seguros,
que posean alta disponibilidad y con vistas a ser escalables.
Lo más importante de todo, los procedimientos almacenados SIEMPRE serán más
rápidos que una consulta externa. Si no lo son, es por dos motivos: No puedes escribir
procedimientos almacenados, y El gestor de base de datos que estas usando es
deficiente.