Ing. Marco Aurelio Porro Chulli
Ingeniería de Sistemas y Telemática
INTEGRANTES:
 Maldonado Idrogo, Betzabeth Yameli
 Pérez Saucedo, Yordin Alberto
PROCEDIMIENTOS ALMACENADOS
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.
CREATE PROCEDURE
<nombre del procedimiento>
<variable1> tipo,
<variable2> tipo
AS
Consulta TRANSACT
GO
Creación:
CREATE PROCEDURE
<nombre del PA>.
(@id_factura INT)
AS
BEGIN
SELECT
SUM(UNIDADES*P
RECIO) FROM
RENGLON
WHERE
RENGLON.IDFACT
URA = @id_factura;
END;
Modificación:
ALTER PROCEDURE <nombre
del PA>.
(@id_cliente INT,
@nombre_cliente
VARCHAR (20),
WITH ENCRYPTION
AS
UPDATE CLIENTE
SET
NOMBRE=@nombre_cliente
WHERE
IDCLIENTE=@id_cliente;
END
Eliminación:
ALTER PROCEDURE
<nombre del PA>
CREATE PROCEDURE Reportar_Boleta_Notas
@apat varchar (30),
@amat varchar (30)
AS
SELECT A.ApellidoPaterno, A.ApellidoMaterno, A.Nombres,
c.Descripcion, n.NC1, n.NC2, n.NC3,
CONVERT(decimal(10,2),(n.NC1+n.NC2+n.NC3)/3)
PROMEDIO
FROM Alumno A, DetalleAlumno D.NotaArea N, AreaCurricular C
WHERE D.IdAlumno=A.IdAlumno AND
N.IdDetalleAlumno=D.IdDetalleAlumno AND
c.IdAreaCurricular=N.IdAreaCurricular
and A.ApellidoPaterno=@apat and A.ApellidoMaterno=@amat
GROUP BY A.ApellidoPaterno, A.ApellidoMaterno,A.Nombres,
c.Descripcion,n.NC1,n.NC2,n.NC3
ORDER BY avg(n.NC1+n.NC2+n.NC3) asc
GO
- No es recomendable usar NOT IN en su lugar usaremos EXITS o NOT
EXITS ya que tiene mejor rendimiento.
- Usar el ORDER BY sólo cuando sea indispensable usarlo.
- Utilizar TRY-CACTH para el control de errores.

Procedimientos almacenadoss

  • 1.
    Ing. Marco AurelioPorro Chulli Ingeniería de Sistemas y Telemática INTEGRANTES:  Maldonado Idrogo, Betzabeth Yameli  Pérez Saucedo, Yordin Alberto PROCEDIMIENTOS ALMACENADOS
  • 2.
    Es un conjuntode 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.
  • 3.
    CREATE PROCEDURE <nombre delprocedimiento> <variable1> tipo, <variable2> tipo AS Consulta TRANSACT GO
  • 4.
    Creación: CREATE PROCEDURE <nombre delPA>. (@id_factura INT) AS BEGIN SELECT SUM(UNIDADES*P RECIO) FROM RENGLON WHERE RENGLON.IDFACT URA = @id_factura; END; Modificación: ALTER PROCEDURE <nombre del PA>. (@id_cliente INT, @nombre_cliente VARCHAR (20), WITH ENCRYPTION AS UPDATE CLIENTE SET NOMBRE=@nombre_cliente WHERE IDCLIENTE=@id_cliente; END Eliminación: ALTER PROCEDURE <nombre del PA>
  • 5.
    CREATE PROCEDURE Reportar_Boleta_Notas @apatvarchar (30), @amat varchar (30) AS SELECT A.ApellidoPaterno, A.ApellidoMaterno, A.Nombres, c.Descripcion, n.NC1, n.NC2, n.NC3, CONVERT(decimal(10,2),(n.NC1+n.NC2+n.NC3)/3) PROMEDIO FROM Alumno A, DetalleAlumno D.NotaArea N, AreaCurricular C WHERE D.IdAlumno=A.IdAlumno AND N.IdDetalleAlumno=D.IdDetalleAlumno AND c.IdAreaCurricular=N.IdAreaCurricular and A.ApellidoPaterno=@apat and A.ApellidoMaterno=@amat GROUP BY A.ApellidoPaterno, A.ApellidoMaterno,A.Nombres, c.Descripcion,n.NC1,n.NC2,n.NC3 ORDER BY avg(n.NC1+n.NC2+n.NC3) asc GO
  • 6.
    - No esrecomendable usar NOT IN en su lugar usaremos EXITS o NOT EXITS ya que tiene mejor rendimiento. - Usar el ORDER BY sólo cuando sea indispensable usarlo. - Utilizar TRY-CACTH para el control de errores.