INTEGRANTES: Pretell Silva Marleny Ríos Chávez Tabita
PROCEDIMIENTOS ALMACENADOS
DEFINICION
Los procedimientos almacenados de Microsoft SQL Server son similares a
los procedimientos de otros lenguajes de programación en el sentido de
que pueden:
Aceptar parámetros de entrada y devolver varios valores en forma de
parámetros de salida al lote o al procedimiento que realiza la llamada.
Contener instrucciones de programación que realicen operaciones en la
base de datos, incluidas las llamadas a otros procedimientos.
Devolver un valor de estado a un lote o a un procedimiento que realiza
una llamada para indicar si la operación se ha realizado correctamente o
se han producido errores (y el motivo de éstos).
Utilizar procedimientos almacenados en SQL Server en vez de programas
Transact-SQL almacenados localmente en equipos cliente presenta las
siguientes ventajas: Se registran en el servidor. Pueden incluir atributos de seguridad (como permisos) y cadenas de
propiedad; además se les pueden asociar certificados. Mejoran la seguridad de la aplicación. Permiten una programación modular. Constituyen código con nombre que permite el enlace diferido. Pueden reducir el tráfico de red.
SINTAXISLos procedimientos almacenados y rutinas se crean con comandos CREATE
PROCEDURE y CREATE FUNCTION. Una rutina es un procedimiento o una
función. Un procedimiento se invoca usando un comando CALL, y sólo
puede pasar valores usando variables de salida. Una función puede llamarse
desde dentro de un comando como cualquier otra función (esto es,
invocando el nombre de la función), y puede retornar un valor escalar. Las
rutinas almacenadas pueden llamar otras rutinas almacenadas.
ADMINISTRACION DE PROCEDIMIENTOS ALMACENADOS (CREACION, MODIFICACION Y ELIMINACION)CREACIONCuando cree un procedimiento almacenado, deberá especificar lo siguiente: Todos los parámetros de entrada y de salida del lote o del
procedimiento que realiza la llamada. Las instrucciones de programación que realicen operaciones en la
base de datos, incluidas las llamadas a otros procedimientos. El valor de estado devuelto al lote o al procedimiento que realiza la
llamada, a fin de indicar que la operación se ha realizado correctamente o que se ha producido un error (y el motivo del mismo).
Las instrucciones de control de errores necesarias para detectar y administrar posibles errores.
MODIFICACION
Para modificar un procedimiento tener en cuenta: En el Explorador de objetos, conéctese a una instancia de
Motor de base de datos y expándala. Expanda Bases de datos, expanda la base de datos a la
que pertenece el procedimiento y, a continuación, expanda Programación.
Expanda Procedimientos almacenados, haga clic con el botón secundario en el procedimiento que desea modificar y, a continuación, haga clic en Modificar.
Modifique el texto del procedimiento almacenado.
ELIMINACION
Para eliminar un procedimiento en el Explorador de objetos En el Explorador de objetos, conéctese a una instancia de Motor de
base de datos y expándala. Expanda Bases de datos, expanda la base de datos a la que
pertenece el procedimiento y, a continuación, expanda Programación.
Expanda Procedimientos almacenados, haga clic con el botón secundario en el procedimiento que desee eliminar y, a continuación, haga clic en Eliminar.
Para ver los objetos que dependen del procedimiento, haga clic en Mostrar dependencias.
EJEMPLOS
CREAR
CREATE PROCEDURE sp_InsertarComprobante@IDCOMPROBANTE CHAR(4),@DESCRIPCION VARCHAR(100),@NUM INT,@EST CHAR(1)ASBEGININSERT INTO Comprobante(Id_Comprobante, descripcion, Numero, Estado) VALUES(@IDCOMPROBANTE, @DESCRIPCION ,@num, @EST)END
MODIFICAR
CREATE PROCEDURE sp_ModificarComprobacion@IDCOMPROBANTE CHAR (4),@DESCRIPCION VARCHAR(100),@NUM INT,@EST CHAR(1)ASBEGINUPDATE Comprobante SET Descripcion=@descripcion, Numero=@Num, Estado=@EST WHERE Id_Comprobante=@IDCOMPROBANTE
RECOMENDACIONES
Se puede crear otros objetos de base de datos dentro de un
procedimiento almacenado. Puede hacer referencia a un objeto
creado en el mismo procedimiento almacenado, siempre que se cree
antes de que se haga referencia al objeto.
Puede hacer referencia a tablas temporales dentro de un
procedimiento almacenado.
CONCLUSIONES
El procedimiento almacenado nos sirve para que la consulta que se guarde pueda ser llamada con el nombre que se le fue asignado también observe que el procedimiento en el gestor Oracle es muy diferente al que se utiliza en el SQL, algunas de las sentencias que cambian son el BEGIN Y EL END y también como hemos venido utilizando el gestor Oracle al final de cada consulta se cierra con punto y coma.
La ejecución de un procedimiento almacenado con el prejifo "sp_" hace que MS SQL Server 2000 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.
LINKOGRAFIA
https://technet.microsoft.com/es-es/library/ms191436(v=sql.105).aspx
https://msdn.microsoft.com/es-pe/library/ms345356.aspx
http://ait.upct.es/asignaturas/ad/manuales/mysql/refman-5.0-es.html-chapter/stored-procedures.html#create-procedure