0% encontró este documento útil (0 votos)
307 vistas2 páginas

Procedimientos y Trigger SQL Avanzado

Este documento describe tres procedimientos almacenados para una base de datos de ventas. El primero inserta un documento de venta validando varios campos. El segundo modifica registros de detalles de venta y actualiza montos totales. El tercero es un disparador que resta montos de ventas del límite de crédito de clientes al insertar nuevos documentos.

Cargado por

Jesenia Paitan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
307 vistas2 páginas

Procedimientos y Trigger SQL Avanzado

Este documento describe tres procedimientos almacenados para una base de datos de ventas. El primero inserta un documento de venta validando varios campos. El segundo modifica registros de detalles de venta y actualiza montos totales. El tercero es un disparador que resta montos de ventas del límite de crédito de clientes al insertar nuevos documentos.

Cargado por

Jesenia Paitan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Examen 2 SQL Avanzado

1.- (7 puntos) Crear un Store procedure que permita insertar un Documento de Venta deberá validar lo
siguiente:

1.1 Que el documento de venta no exista (validar según el primary key del documento venta)

1.2 Que el Código de Tipo de Documento Venta exista en la tabla TipoDocumentoVenta

1.3 Que el Código de Moneda a insertar exista en la tabla Moneda

1.4 Que el código de cliente a Insertar exista en la tabla Cliente

1.5 Que el subtotal sea un importe mayor a cero

1.6 Considerar los parámetros necesarios para insertar la Factura, no considerar como parámetros :

- RUC : tomará el valor del código del Cliente (codigocliente sí es parametro)

-NombreCliente : será el nombre del Cliente de la tabla Cliente, buscarlo a partir del códigocliente que es
un parámetro del store procedure.

-DireccionCliente: será la Direccion del Cliente de la tabla Cliente , buscarlo a partir del codigocliente que
es un parámetro del store procedure.

-TipoCambio : colocar un valor fijo de cero (0)

-IGV : es un campo calculado a partir del parámetro subtotal es: 18 % del subtotal

-Total: es un campo calcualado es : la suma del subtotal + igv

2.- (6 puntos) Crear un store procedure que permita modificar un servicio(Un registro) de la Tabla
DocumentoVentaDetalle los campos a modificar son :subtotal , igv, total

2.1 Parametros : CodigoTipoDocumento, serie, numeroDocumento, CodigoServicio, subtotal(importe nuevo


que tomará el subtotal), igv (importe nuevo que tomara el igv ), total (importe nuevo que tomará el total)

2.2 A partir de estos cuatro parametros CodigoTipoDocumento, serie, numeroDocumento, CodigoServicio,


se podrá realizar la modificación del subtotal, igv y total.

2.3- A partir de la modificación de este servicio actualizar el monto subtotal, igv, total de la tabla
DocumentoVenta.

Nota: Como se ha visto en clase el Documento de Venta Detalle contiene todos los servicios cuya suma de
subtotales da como resultado el valor subtotal de la Tabla Documento de Venta, esto aplica también para el
igv y el total.
3.- (7 puntos) Crear un Trigger que tome en consideración lo siguiente:

3.1.-Se ejecuta sobre la tabla DocumentoVenta

3.2.-Se ejecuta después de cada insert.

3.3.-Al insertar un Documento de Venta no es necesario insertar datos en la Tabla DocumentoVentaDetalle.

3.4.-Deberá crear la siguiente tabla LineaCreditoCliente con los siguientes campos:

-CodigoCliente : Es el codigoCliente al cual se le dará una línea de Credito

-ImporteLineaCredito: Es el importe de la línea de la línea de crédito que se concede al cliente.

-CodigoMoneda: Es el Codigo de Moneda PEN o USD de la Línea Crédito

3.5.-Insertar algunos datos de ejemplo en la Tabla LineaCreditoCliente para que pueda validar su trigger
(Como CodigoCliente considerar a los que después se les insertará en un documento de venta, pueden
copiar datos de la tabla Documento Venta, pero cambiarle el número de documento para evitar la
restricción de primary key)

3.6.- La Lógica del trigger es que cada vez que se inserte una venta, el trigger se encargará de descontar el
valor subtotal al importeLineaCredito de la Tabla LineaCredito, tomando en cuenta la moneda.

Ejemplo el cliente X tiene un Importe de línea de Crédito de 10 000 Soles, se le emite al Cliente una factura
por un monto de 1000 Soles. El Nuevo importe de Línea de Crédito será 9000 Soles

3.7.-Validar que exista Linea Credito para el Cliente de la factura en la moneda de la Factura. En caso de no
encontrar Linea de Creditos para el cliente y la moneda de la Factura, el trigger no realizará ningún
procedimiento.

También podría gustarte