manual transact

122
LENGUAJE DE PROGRAMACION IV TRANSACT-SQL CREAR BASE DE DATOS DESDE EL ANALIZADOR DE CONSULTAS Además de utilizar el Administrador Corporativo y el Asistente para la Creación de Bases de Datos, podemos también hacerlo utilizando código de T-SQL, que es el lenguaje original de SQL. Para crear una base de datos: CREATE DATABASE NombreBaseDatos ON PRIMARY ( NAME = NombreLógico_Archivo_data, FILENAME = ‘Ruta\\NombreFísico_data.MDF’, SIZE = tamaño, MAXSIZE =Tamaño_Máximo|UNLIMITED, FILEGROWTH = IncrementoCrecimiento[Valor|%] ) LOG ON ( NAME = NombreLógico_Archivo_log, FILENAME = ‘Ruta\\NombreFísico_log.LDF’, SIZE = tamaño, MAXSIZE =Tamaño_Máximo|UNLIMITED, FILEGROWTH = IncrementoCrecimiento[Valor|%] ) Argumentos: NombreBaseDatos Nombre de la nueva base de datos, deben ser únicos en un servidor y pueden tener hast 128 caracteres. ON Especifica que el archivo de disco utilizado para almacenar la parte de datos (archivo de datos) se definirá explícitamente. PRIMARY Especifica que la lista de archivos está asociada al grupo principal. Grupo que contiene todas las tablas del sistema de base de datos. Si se ignora, la base de datos pertenecerá por defecto al grupo PRIMARIO. Prof. Angel Roque 1

Upload: gelitochess

Post on 08-Nov-2014

66 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Manual Transact

LENGUAJE DE PROGRAMACION IV

TRANSACT-SQL

CREAR BASE DE DATOS DESDE EL ANALIZADOR DE CONSULTASAdemás de utilizar el Administrador Corporativo y el Asistente para la Creación de Bases de Datos, podemos también hacerlo utilizando código de T-SQL, que es el lenguaje original de SQL.

Para crear una base de datos:

CREATE DATABASE NombreBaseDatosON PRIMARY(

NAME = NombreLógico_Archivo_data,FILENAME = ‘Ruta\\NombreFísico_data.MDF’,SIZE = tamaño,MAXSIZE =Tamaño_Máximo|UNLIMITED,FILEGROWTH = IncrementoCrecimiento[Valor|%]

)LOG ON(

NAME = NombreLógico_Archivo_log,FILENAME = ‘Ruta\\NombreFísico_log.LDF’,SIZE = tamaño,MAXSIZE =Tamaño_Máximo|UNLIMITED,FILEGROWTH = IncrementoCrecimiento[Valor|%]

)

Argumentos:

NombreBaseDatosNombre de la nueva base de datos, deben ser únicos en un servidor y pueden tener hast 128 caracteres.

ONEspecifica que el archivo de disco utilizado para almacenar la parte de datos (archivo de datos) se definirá explícitamente.

PRIMARYEspecifica que la lista de archivos está asociada al grupo principal. Grupo que contiene todas las tablas del sistema de base de datos. Si se ignora, la base de datos pertenecerá por defecto al grupo PRIMARIO.

LOG ONEspecifica que el archivo de transacciones(o archivos de registro) se definirá explícitamente.

NAME Especifica el nombre lógico del Archivo físico de datos o el nombre lógico del archivo de transacciones.

Prof. Angel Roque 1

Page 2: Manual Transact

LENGUAJE DE PROGRAMACION IV

FILENAMEEspecifica la ruta y el nombre físico para el archivo de datos o la ruta o nombre físico del archivo de transacciones o registro.La ruta debe apuntar a una carpeta creada en el servidor sobre el cual se instaló SQL Server.

SIZEEspecifica el tamaño para el archivo. El valor mínimo es 512KB, el valor predeterminado es 1MB.(aplicable tanto para el archivo de datos como para el archivo de registro).

MAXSIZEEspecifica el tamaño máximo de crecimiento del archivo. El valor predeterminado es 1 MB. Si no se incluye el archivo aumentará hasta que el disco esté lleno.

UNLIMITEDEl archivo aumentará o crecerá hasta que el disco esté lleno.

FILEGROWTHEspecifica el incremento de crecimiento del archivo. Este valor no puede exceder el valor de MAXSIZE. El valor de incremento puede darse en un valor en MB o en %. El valor predeterminado es 10%.

Ejemplo:Crear la base de datos Prueba1 con un archivo de datos de 10MB, un tamaño máximo de 20MB y un crecimiento de 1MB, el archivo de registro debe asumir los valores por defecto.

USE MASTERGO

Estas líneas activa la base de datos master, que es la base de datos principal del sistema. Es opcional, debido a que normalmente cuando se abre el Analizador de Consultas la base de datos por defecto es MASTER.

CREATE DATABASE Prueba1ON PRIMARY(

NAME = Prueba1_dataFILENAME = ‘c:\EjerciciosSQL\Prueba1_data.mdf’,SIZE = 10,MAXSIZE =20,FILEGROWTH = 1

)

Para verificar la creación de la base de datos:

Sp_HelpDB Prueba1GO

Prof. Angel Roque 2

Page 3: Manual Transact

LENGUAJE DE PROGRAMACION IV

Ejercicio 01:Crear la base de Datos Prueba2 especificando un archivo de datos con un tamaño inicial de 15MB, un tamaño máximo de 30MB y un crecimiento de 5MB, el archivo de registro o transacciones debe tener un tamaño inicial de 5MB y uno máximo de 10MB, el crecimiento debe ser de 1MB.

MODIFICAR UNA BASE DE DATOSTeniendo creada ya una base de datos podremos modificarla utilizando la sentencia ALTER DATABASE.

ALTER DATABASE NombreBD(

ADD FILE Especificación_Archivo [TO FILEGROUP NombreGrupoArchivos]| ADD LOG FILE Especificación_Archivo_lógico| REMOVE FILE NombreArchivoLógico| ADD FILEGROUP NombreGrupoArchivos| REMOVE FILEGROUP NombreGrupoArchivos| MODIFY FILE EspecificaciónArchivo| MODIFY FILEGROUP NombreGrupoArchivos PropiedadGrupoArchivosTO FILEGROUP NombreGrupoArchivos

)

ELIMINAR UNA BASE DEDATOSPara eliminar una Base de Datos se usa la sentencia DROP DATABASE

DROP DATABASE NombreBD

Ejercicio Nº 2:Elimine la base de datos RPEUBA1

Ejercicio N3:Crear una base de datos comprobando su existencia en la base de datos maestro del GSBD:

USE mastergo

IF EXISTS ( SELECT name FROM sysdatabases WHERE name = 'LIBRERIA' )DROP DATABASE LIBRERIA

go

Explique el código. Investigue y si es posible realice un ejercicio práctico para recuperar una base de

datos eliminada

CREACION DE TABLASSQL Server 2000 emplea la tablas como objetos de almacenamiento de datos que los usuarios manipulan a través de sus aplicaciones o vía web.Las tablas son objetos compuestos por una estructura(conjunto de columnas) que almacenan información interrelacionada(filas) acerca de algún objeto en general.

Prof. Angel Roque 3

Page 4: Manual Transact

LENGUAJE DE PROGRAMACION IV

Consideraciones para crear tablas: Billones de tablas por base de datos. 1024 columnas por tabla. 8060 es el tamaño máximo de registro. Al momento de definir una columna se puede definir si acepta o no valores

NNULL.

Para crear tablas se debe utilizar la sentencia CREATE TABLE, cuya sintaxis es la siguiente:

CREATE TABLE NombreTB(

Nombre_columna1 TIPODATO[(longitud)] [PROPIEDADES]Nombre_columna2 TIPODATO[(longitud)] [PROPIEDADES]Nombre_columna3 AS EXPRESIÓN | FÓRMULA …..

)En donde:

NombreTBNombre de la tabla a crear

Nombre_ColumnaNombre de la columna o atributo a definir para la tabla

TIPO DE DATOTipo de dato válido para SQL Server 2000.

LONGITUDAplicable a columnas de tipo char, text, varchar. Permite definir el número de caracteres a contener en la columna.

PROPIEDADESSon propiedades que pueden ser asignadas a una columna individualmente, estas propiedades pueden ser:

NULL : Permitir el almacenamiento de valores nulos en la columna NOT NULL : No Permitir el almacenamiento de valores nulos en la columna IDENTITY : Campo Autoincrementable. Aplicable a tipos de datos: inyint,

smallint, int, bigint, decimal(p,0), numeric(p,0).Es necesario definir el valor para la primera fila y el incremento.Ejm.IDENTITY(1,1)

AS formula | ExpresiónEspecifica una columna calculada, para lo que debe definirse la fórmula o expresión de cálculo.Ejm.precioVta As PrecioCmp+igv

Prof. Angel Roque 4

Page 5: Manual Transact

LENGUAJE DE PROGRAMACION IV

Ejercicio Nº 4Crear la tabla siguiente:

CREATE TABLE Oficinas(

Id_oficina int identity(1,1) not null,oficina int not null,ciudad varchar(15) not null,region varchar(15) not null,dir varchar(15) not null,ventas money not null

)

MODIFICAR UNA TABLA EXISTENTEUna vez creada una tabla, ésta puede ser modificada utilizando la sentencia ALTER TABLE:

ALTER TABLE NombreTBALTER COLUMN NombreColumna NULL | NOT NULLADD NombreColumn [TIPODATO | AS Formula | Expresión] [Propiedades]DROP COLUMN NombreColumna [,….n]

En donde:

ALTER COLUMN Modificar propiedades de la columna especificadaADD Agregar una columna a la tablaDROP Eliminar la columna especificada

ELIMINAR UNA TABLAPara eliminar una tabla de la base de datos actual utilizar la sentencia DROP TABLE

DROP TABLE NombreTB

RESTRICCIONESUno de los principales objetivos de una base de datos relacional es cuidar y controlar la integridad de datos, la cual podría perderse ante operaciones que modifican la información, tales como: INSERT, UPDATE, DELETE.

Por ejemplo se puede perder la integridad de datos ante alguna de las siguientes situaciones: Se puede registrar un pedido de un producto no existente Podría modificarse los datos existentes con valores incorrectos. Los cambios a la base de datos podrían aplicarse parcialmente, por ejemplo si se

registra un pedido sin actualizar el stock del producto requerido.

Prof. Angel Roque 5

Page 6: Manual Transact

LENGUAJE DE PROGRAMACION IV

SQL provee varios tipos de restricciones para controlar la integridad de datos, así tenemos:

Nivel de Integridad Tipo de Restricción Descripción

Dominio(Columna)

DEFAULT

Valor Predeterminado. Especifica el valor que se asignará para una columna, cuando no se le asigna un valor explícitamente en una sentencia INSERT.

CHECKRegla de Validación. Especifica los valores de los datos que son aceptables en la columna.

Entidad(Fila)

PRIMARY KEY Llave Primaria. Identifica cada registro o fila como única. Se crea un índice para mejorar el rendimiento. Los valores nulos no son permitidos.

UNIQUE Valores No Duplicados. Previene la duplicación de las llaves alternas, y se asegura que un índice se crea para que mejore el rendimiento. Se permiten valores nulos.

Referencial(relación)

FOREIGN KEY Llave foránea. Define la columna o combinación de columnas de una tabla secundaria, cuyos valores dependen de la llave primaria de una tabla primaria.

Estas Restricciones se asignan al momento de crear una tabla con la sentencia CREATE TABLE o modificando una tabla existente con la sentencia ALTER TABLE

CREATE TABLE NombreTB (

Nombre_columna1 TIPODATO[(longitud)] [PROPIEDADES]Nombre_columna2 TIPODATO[(longitud)] [PROPIEDADES]Nombre_columna3 AS EXPRESIÓN | FÓRMULA …..[CONSTRAIN nombre_restricción]PRIMARY KEY (nombre_columna) UNIQUE (nombre_columna)FOREING KEY (nombre_columna) REFERENCE NombreTB(Nombre_columna)

)

Ejercicio Nº 5:

CREATE TABLE Procesos(TipoEvento int,TiempoEvento datetime,LugarEvento char(50),DescripEvento char(1024),CONSTRAINT event_key PRIMARY KEY (TipoEvento, TiempoEvento))

Prof. Angel Roque 6

Page 7: Manual Transact

LENGUAJE DE PROGRAMACION IV

Restricciones PRIMARY KEY

El siguiente comando CREATE TABLE crea la tabla Tabla1 y define la columna Col1 como clave primaria:

CREATE TABLE Tabla1(Col1 int PRIMARY KEY,Col2 varchar(30)  )

Se puede definir la misma restricción utilizando la definición a nivel de tabla:

CREATE TABLE Tabla1(Col1 int,Col2 varchar(30),CONSTRAINT tabla_pk PRIMARY KEY (Col1))

Se puede usar el comando ALTER TABLE para agregar una restricción PRIMARY KEY a una tabla existente:

ALTER TABLE Tabla1ADD CONSTRAINT tabla_pk PRIMARY KEY (Col1)

Cuando una restricción PRIMARY KEY se agrega a una columna (o columnas) existente en un tabla, SQL Server 2000 controla los datos ya existentes en las columnas para asegurar que se cumplen las siguientes reglas:

·        No hay valores nulos

·        No hay valores duplicados

Restricciones FOREIGN KEY

ALTER TABLE prestamoADD CONSTRAINT fk_libros_prestamosFOREIGN KEY(id_libro)REFERENCES libros(id_libro)GO

Estable la relación entre las tablas libros y préstamo. La cláusula PREFERENCES hace referencia a la tabla en donde se encuentra la llave principal.

Restricciones DEFAULT

ALTER TABLE prestamoADD CONSTRAINT df_fecha_prestamoDEFAULT getdate() FOR fecha_prestamo)

Prof. Angel Roque 7

Page 8: Manual Transact

LENGUAJE DE PROGRAMACION IV

Establece que el valor predeterminado de la columna fecha_prestamo de la tabla prestamo es la fecha del sistema.

Restricciones CHECK

ALTER TABLE prestamoADD CONSTRAINT chk_estadoCHECK (estado LIKE ‘[BM]’

El contenido de la columna estado de la tabla prestamo debe ser necesariamente ‘B’ o ‘M’.

Restricciones UNIQUE

ALTER TABLE prestamoADD CONSTRAINT u_descripciónUNIQUE (descripcion)

Establece que la columna descripción de la tabla préstamo no puede tener descripciones iguales o duplicados.

Para obtener información de una tabla referente a todas sus propiedades, restricciones usar la sentencia: SP_HELP.

Sp_help nombreTB

Si se quiere obtener información de la Base de Datos, usar la sentencia: SP_HELPDB.

Sp_helpDB NombreBD

Para obtener información de una columna IDENTITY:

Obtener valor para la primera fila:Select ident_seed('nombreTB')

Select ident_seed('prestamo')

Obtener incrementoSelect ident_incr(' nombreTB ')

Select ident_incr('prestamo')

ELIMINAR RESTRICCIONESPara eliminar una restricción, será necesario hacer uso de la sentencia ALTER TABLE:

ALTER TABLE prestamoDROP CONSTRAINT nombre_restricción

Prof. Angel Roque 8

Page 9: Manual Transact

LENGUAJE DE PROGRAMACION IV

Ejemplo: Eliminar la restricción chk_estado

ALTER TABLE prestamoDROP CONSTRAINT chk_estado

Ejemplo: Eliminar la definición DEFAULT df_fecha_prestamo

ALTER TABLE prestamoDROP CONSTRAINT df_fecha_prestamo

CASO PRACTICO DE IMPLEMENTACION

El presente caso de estudio, servirá para poner en práctica los conceptos relacionados a Base de Datos con su implementación en SQL SERVER 2000 y la posterior implementación de una aplicación informática para administrar los procesos del negocio.

MegaService es una empresa que se dedica a la comercialización al detalle de diversos productos de consumo masivo. Cuenta con una cadena de locales de autoservicio en distintas zonas del área metropolitana de la ciudad y planea expandir su influencia a otras zonas del Cusco.

Todas las áreas de la empresa y sus diferentes locales se interconectarán mediante una red local. Cada una de las áreas tiene requerimientos específicos, y se pretende resolverlos utilizando aplicaciones informáticas.

Para viabilizar el desarrollo de software adecuado para la empresa, se delimitará el área de estudio a todas las operaciones que se lleven a cabo en el Almacén Central, y que tienen relación con él.

La Base de Datos que se diseñará registrará todas las operaciones que se ejecuten en el Almacén Central de la Empresa, y estará habilitada para que todas las áreas de la organización puedan utilizarla.

Almacén Central podrá controlar las entradas y salidas de productos, y las demás áreas podrán efectuar consultas a la base de datos.

PROCESOS PRINCIPALES EN EL ALMACEN CENTRAL

REPOSICION DE MERCADERIA EN UN LOCAL1. Si en el Local N existen productos que necesitan reponerse, el responsable del

inventario genera un Pedido en el que consigna los siguientes datos: - Número del pedido.- Fecha del Pedido- Código del Producto- Descripción del Producto- Unidad de Medida- Cantidad Solicitada

Prof. Angel Roque 9

Page 10: Manual Transact

LENGUAJE DE PROGRAMACION IV

- Cantidad de Ítems Solicitados.El número del pedido es un correlativo seguido de un guión separador y dos dígitos adicionales. Estos últimos identifican al Local que hace el pedido.

2. El Pedido es enviado al Almacén.

DESPACHO DE MERCADERIA DESDE ALMACEN HASTA UN LOCAL1. Almacén recibe la solicitud de mercadería del local N.2. Almacén verifica el stock de los productos solicitados consultando su controla

de inventarios. Actualmente Almacén control el inventario utilizando una lista de Excel en la que registra los siguientes datos:- Código de la Categoría del Producto- Código del Producto- Descripción del Producto- Unidad de Medida- Precio del Proveedor- Precio de Venta al Público- Stock Actual- Stock Mínimo- Estado del Producto (si está discontinuado o no)- Nombre del Proveedor.

3. Almacén verifica el stock de los productos, y genera una Guía de Remisión en la que consigna solo los productos que tiene el nivel de inventario adecuado para cumplir con los requerimientos del Local N. En la Guía de Remisión consigna los siguientes datos:- Número de la Guía de Remisión- Número del Pedido- Local de Destino- Fecha de Salida- Nombre del Transportista- Código del Producto- Descripción del Producto.- Unidad de Medida- Cantidad Despachada- Precio de Venta al Público (PVP)- Cantidad de Ítems Despachados

4. Si el local no recibe alguno de los productos solicitados debe reiterar su solicitud generando una nuevo Pedido con los productos no recibidos.

SOLICITUD DE MERCADERIA A UN PROVEEDOR1. Cuando Almacén detecta un bajo nivel de inventario de algunos productos del

Proveedor X, genera una Orden de Compra consignando los siguientes datos:- Número del la Orden de Compra- Fecha de la Orden- Nombre del Proveedor- Código del Producto- Descripción del Producto- Unidad de Medida- Precio del Proveedor

Prof. Angel Roque 10

Page 11: Manual Transact

LENGUAJE DE PROGRAMACION IV

- Cantidad a Solicitar

2. Almacén le envía la Orden de Compra al Departamento de Compras3. Compras se comunica con el Proveedor para verificar y negociar los precios.4. Compras le envía al Proveedor la Orden de Compra consignando en ella:

- Precio de Compra del Producto

RECEPCION EN ALMACEN DE LA MERCADERIA ENVIADA POR EL PROVEEDOR1. EL Proveedor despacha todo o parte de lo solicitado según lo acordado con

MegaService, dependiendo de su disponibilidad.2. Almacén recibe lo despachado por el Proveedor y actualiza la Orden de

Compra registrando la siguiente información:- Fecha de Ingreso de los Productos- Cantidad Recibida- Estado del Producto en la Orden de Compra.

3. Almacén actualiza la siguiente información en su lista Excel para el Control de Inventarios.- Stock Actual del Producto- Precio del Proveedor

4. Almacén envía al Departamento de Compras, la Orden de Compra, y la Guía y Factura del Proveedor.

Producto EsperadoEl producto esperado en esta fase es el diseño lógico y físico de la base de datos incluyendo llaves primarias, llaves foráneas, definiciones default, restricciones check, unique, uso de propiedades identity, no null, en sql-Server 2005, incluido el diagrama de la Base de Datos. Todo esto debe ser documentado en un archivo .doc y enviado al correo: [email protected] con ASUNTO: CASIV-MEGASERVICES.

Prof. Angel Roque 11

Page 12: Manual Transact

LENGUAJE DE PROGRAMACION IV

MANTENIMIENTO DE DATOS EN TABLASSQL posee cuatro declaraciones del tipo DML(Daata Manipulation Language). Estas declaraciones permiten trabajar con los datos de la base de datos, y son:INSERT : Permite insertar nuevas filas a una tabla.UPDATE : Permite actualizar datos en un atablaDELETE : Para eliminar filas de una tablaSELECT : Para leer los datos de una tabla.

INSERTAR REGISTROS EN UN TABLALa Sentencia INSERTSe utiliza la sentencia INSERT para agregar registros a una tabla.

Su sintaxis básica puede ser:

INSERT [INTO] nombre_tabla [(Lista_columnas)]VALUES (lista_valores)

En el caso anterior Lista_columnas especifica las columnas en las cuales se almacenarán los datos. Y Lista_valores definen los valores a ser almacenadas en las columnas indicadas.

En este caso significa que se almacenarán datos para todas las columnas de la tabla. INSERT [INTO]<NombreTB> VALUES (lista_valores)

Esta forma del comando INSERT permite almacenar datos en las columnas indicadas de la tabla NombreTB1 con los datos de otra tabla llamada NombreTB2.INSERT [INTO] <NombreTB1> SELECT <lista_columnas>FROM <NombreTB2>

Ejemplos:Insertar datos a un registro de la tabla libros:

INSERT libros(titulo,autor,fecha_registro,precioCmp,igv)VALUES('programación II','Macro',getdate(),30,5)

Inserta 3 registros a la tabla clientes

INSERT clientes VALUES(500,’Martha Chavez’,104,1200)INSERT clientes VALUES(501,’Jose Galvez’,104,1500)INSERT clientes VALUES(502,’Cesar Altamirano’,104,1000)

Uso de DEFAULTS VALUESSi cada una de las columnas de la tabla tiene definido un valor por defecto, o permite valores nulos, o tiene la propiedad IDENTITY, podemos insertar filas, sin tener que especificar los valores a insertar tal como se muestra en el siguiente ejemplo:INSERT prestamo DEFAULT VALUES

Prof. Angel Roque 12

Page 13: Manual Transact

LENGUAJE DE PROGRAMACION IV

ACTUALIZAR DATOS DE UNA TABLA

La sentencia UPDATEUPDATE nombreTBSET nombre_Columna = expresion1[,…..]

[WHERE condición_filas]

En donde:Nombre_columna : Especifica la columna que queremos actualizarExpresión : Representa el nuevo valor almacenar en las columnas[,…] : Indica que puede actualizar varias columnas en una misma

instrucción.Condición_filas : Especifica La condición que deben cumplir las filas que se van a

actualizar.

Es necesario recordar que si la actualización de una fila no cumple con una restricción o regla, infringe la configuración de valores NULL o si el nuevo valor es de un tipo de datos incompatible, se cancela la instrucción, se devuelve un error y no se actualiza ningún registro.

Ejemplos:

Actualizar LA información del cliente cuyo código es C-005UPDATE clientesSET nombre = ‘María’WHERE Idclie = ‘C-005’GO

Actualizar los campos SUELDO sumándole 500 para todos los trabajadores que ganen un sueldo menor a 1000.

UPDATE empleadosSET sueldo = sueldo + 500WHERE sueldo < 1000GO

En el siguiente ejemplo, se seleccionan los libros cuyos precios de venta sea igual a 35 depositándolos en una tabla llamada AUXILIAR, que al momento de ejecutarse se crea, y luego se actualizan los precios de venta con un margen de ganancia de 1.2.

Primero:SELECT * INTO auxiliar FROM librosWHERE precioVta=35

Luego:UPDATE auxiliarSET precioVta=precioVta*1.2

ELIMINAR REGISTROS DE UNA TABLALa Sentencia DELETE

Prof. Angel Roque 13

Page 14: Manual Transact

LENGUAJE DE PROGRAMACION IV

DELETE [FROM] <nombreTB>[WHERE condición_filas]

Donde:nombreTB : Nombre de la tabla donde se eliminarán los datos.Condición_filas : Indica la condición que deben cumplir las filas que serán

eliminadas.

DELETE FROM Articulo WHERE IdArticulo=’BEB0003’

Si no se incluye la cláusula WHERE se eliminarán todas las filas de la tabla.

Ejemplos:Borrar todos los registros cuyo campo TITULO sea un valor NULLDELETE librosWHERE TITULO IS NULL

Borrar los registros de la tabla libros cuyo título contenga los caracteres ‘II’DELETE libros

WHERE titulo like'%II%'

ELIMINAR TODOS LOS REGISTROS DE UNA TABLASentencia TRUNCATETRUNCATE <nombreTB>

RECUPERAR DATOS DE UNA TABLA – CONSULTAS SQLUno de los principales motivos por el cual se guarda información, es porque posteriormente se consultará dicha información. La sentencia a utilizar para realizar consultas es: SELECT.

SELECTRecupera información de la base de datos y permite la selección de una o más filas o columnas de una o muchas tablas. Las cláusulas principales para SELECT son:

SELECT lista_colsFROM tabla_origen[WHERE condición][GROUP BY columna1,…..][HAVING condición][ORDER BY columna1,…[ASC | DESC]]

En donde:Lista_colsEspecifica las columnas a ser devueltas por el query. Para esto tener en consideración lo siguiente: La lista de select recupera y muestra las columnas en el orden especificado. Separar los nombres de columnas con comas, excepto la última columna.

Prof. Angel Roque 14

Page 15: Manual Transact

LENGUAJE DE PROGRAMACION IV

Usar un asterisco en la lista de select para recuperar todas las columnas de la tabla Usar una función sobre una o varias columnas.

FROMDeterminar la tabla o tablas de donde se obtendrá la información.

WHEREEstablece un criterio de selección de filas

GROUP BYEstablece la lista de columnas por las cuales se agrupará la información.

HAVINGPermite filtrar los grupos generados por GROUP BY

ORDER BYPermite ordenar la información de acuerdo a los requerimientos.

Operadores de condición para filas en WHERE:LIKEPara comparación de cadenas de caracteres. Admite los comodines % y _.

BETWEENPara selección de un rango de valores. Los valores pueden ser numéricos, de cadena, fechas y horas.

INPara selección en base a un conjunto de valores. Los valores pueden ser numéricos, de cadena, fechas y horas.

Ejemplos:Lista los libros cuyo TITULO contenga la palabra programación.SELECT id_prestamo, tituto FROM libros

WHERE titulo LIKE ‘%programación%’

Lista los libros en los que el segundo carácter del TITULO es una letra a.SELECT id_prestamo, tituto FROM libros

WHERE titulo LIKE ‘_a%’

Lista los libros cuyo campo titulo empieza con las letras C,S ó P, y además el segundo caracter debe ser una A.SELECT id_prestamo, tituto FROM libros

WHERE titulo LIKE ‘[csp]a%’

Lista los libros cuyo precio de compra se encuentra en el rango que va desde 15 a 30.SELECT id_libros, titulo, precioCmp

FROM libros

Prof. Angel Roque 15

Page 16: Manual Transact

LENGUAJE DE PROGRAMACION IV

WHERE precioCmp BETWEEN 15 and 30

Lista los libros registrados en el rango del 19 de enero del 2007 al 20 de octubre del 2007.SELECT id_libros, titulo, precioCmp

FROM librosWHERE fecha_registro BETWEEN ‘19/01/2007’ AND ‘20/10/2007’

Lista de libros pertenecientes a los autores MC-Graw, RAMASELECT id_libro, titulo, autor

FROM librosWHERE autor IN(‘MC-Graw’,’Rama’)

Para estas consultas se pueden utilizar las funciones predefinidas en SQL.

Cuantos libros registrados existen por autorSELECT count(*)FROM librosGROUP BY autor

SELECT *FROM librosGROUP BY autorHAVING SUM(precioCmp+igv)>20ORDER BY id_libro

SELECT *FROM librosORDER BY id_librosCOMPUTE COUNT(titulo), AVG(precioCmp) BY id_libro

Mostrar el precio de compra promedio de los libros.SELECT AVG(precioCmp)FROM libros

Muestra los libros registrados antes de 1998SELECT tituloFROM librosWHERE fecha_registro<’01-01-98’

Muestra los libros que no tiene asignado un AutorSELECT tituloFROM librosWHERE Autor IS NULL

Prof. Angel Roque 16

Page 17: Manual Transact

LENGUAJE DE PROGRAMACION IV

En el caso de WHERE es posible hacer uso de los operadores lógicos para construir condiciones complejas o combinadas.

SELECT nombre, precioVta, PrecioCmpFROM librosWHERE PrecioVta < PrecioCmp+10 AND Ventas > 30000

Lista los libros ordenados por AutorSELECT *FROM librosORDER BY Autor DESC

OPERADORES EN SQL

La siguiente tabla muestra un resumen de los principales operadores con que nos podemos encontrar en Transact SQL:

Operadores Aritméticos

 DESCRIPCIÓN EJEMPLO RESULTADO

  + Suma SELECT 2 + 4 6

-Resta SELECT 3 - 1 2

*Multiplicación SELECT 3 * 2 6

/División SELECT 6 / 2 3

%Módulo o resto de la división entera SELECT 4 % 3 1

Operadores nivel de bit

&AND binario (1 si los bits de ambos operandos son 1)

SELECT 3 & 2 11 & 10 = 10 -> 2

|OR binario (1 si el bit de alguno de los dos operandos es 1)

SELECT 3 | 2 11 | 10 = 11 -> 3

^OR exclusivo binario (1 si el bit de los operandos es distinto)

SELECT 3 ^ 2 11 ^ 10 = 01 -> 1

~NOT binario (cambia el bit) SELECT ~ 2 ~10 = 01 -> 1

Operadores Relacionales

=Igual SELECT 1 = 2 FALSO

< Menor SELECT 1 < 2 VERDADERO

> Mayor SELECT 1 > 3 FALSO

>= Mayor o igual SELECT 1 >= 1 VERDADERO

Prof. Angel Roque 17

Page 18: Manual Transact

LENGUAJE DE PROGRAMACION IV

<=Menor o igual SELECT 10 <= 1 FALSO

<>Distinto SELECT 1 <> 2 VERDADERO

!=Distinto SELECT 1 != 1 FALSO

!>No mayor SELECT 1 !> 3 VERDADERO

!<No menor SELECT 1 !<1

VERDADERO

Operadores de Cadena

+Concatenación SELECT 'A' + 'B' AB

[]

Cadenas coincidentes.NOT: negación de la expresiónLIKE: buqueda por patrón

SELECT * FROM tabla WHERE atributo1 LIKE '[C-H]urry'

CurryHurry

[^]

Cadenas no coincidentes.NOT: negación de la expresiónLIKE: buqueda por patrón

SELECT + FROM tabla WHERE atributo1 NOT LIKE '[^I-Z]'

J,K,L,M

_

Cadena con ese carácter coincidente.NOT: negación de la expresiónLIKE: buqueda por patrón

SELECT * FROM tabla WHERE atributo2 like '_urry'

Hurry

LOS EJEMPLOS UTILIZADOS DE AQUÍ EN ADELANTE SE HACEN SOBRE LA BASE DE DATOS PUBS

OPERADORES BÁSICOS

Entendemos por operadores, aquellas palabras reservadas o símbolos delimitadores que nos permiten aplicar las diversas técnicas del álgebra relacional. Las principales que veremos aquí son:

Unión Join o combinación

No confundir los anteriores operadores propios del álgebra relacional, con los que ofrece SQL Server, es decir, los que permiten la evaluación de expresiones, unión de cadenas, comparaciones lógicas, etc.

OPERADOR UNIONEl operador unión consiste, como su propio nombre indica, en unir campos de más de una tabla. El resultado obtenido contendrá entonces campos de las tablas

Prof. Angel Roque 18

Page 19: Manual Transact

LENGUAJE DE PROGRAMACION IV

especificadas en la cláusula FROM. El Código siguiente constituye un ejemplo de unión de las tablas tabla1 y tabla2:

SELECT * FROM tabla1, tabla2

Otra forma de realizar una unión entre el resultado de dos consultas, es utilizar la palabra reservada UNION. Por ejemplo, si queremos obtener la unión de las dos consultas a dos tablas, escribiremos el Código:

SELECT * FROM tabla1 UNION SELECT * FROM tabla2

Probemos ahora en el query analizer, tecleando el Código:

SELECT * FROM titles, titleauthor

Pulsamos ahora el botón de ejecución, o F5, y obtenemos el resultado que mostrará todas las filas de las tablas titles y titleauthor.

OPERADOR JOINEl operador de join es uno de los más usados en el álgebra relacional. Sirve para combinar dos tablas entre sí, utilizando un atributo común. Lo que se realiza es una

unión de cada fila de una tabla, con todas las filas de la tabla con la que se hace el join, cuyos atributos comunes coincidan.La forma de realizarlo en Transact SQL es especificando en la cláusula WHERE los atributos por los cuales se va a realizar el join entre ambas tablas.

SELECT * FROM tabla1INNER JOIN tabla2 WHERE tabla1.campo1 = tabla2.campo1

El Código anterior realiza un join entre las tablas tabla1 y tabla2, por el campo1 de ambas tablas. Veamos un ejemplo de como funciona un join. Supóngase que tenemos las dos siguientes tablas, y deseamos hacer un join por el atributo campo1 de ambas.

Tabla 1 Tabla 2

Prof. Angel Roque

Campo1 Campo2

1 5

1 3

2 8

Campo1 Campo2

1 10

2 9

3 4

4 1

19

Page 20: Manual Transact

LENGUAJE DE PROGRAMACION IV

Lo primero que se realiza al hacer un join es una unión de ambas tablas, copiando cada fila de la primera tabla, y para cada fila cuyo campo común sea igual en ambas tablas, copiar las filas de la segunda tabla.Por ejemplo, para la primera fila de la Tabla 1, hay dos filas en la Tabla 2 cuyo atributo campo1 es igual. El join de estas dos tablas queda como muestra la Tabla 3:

TABLA 3

tabla1.campo2 tabla1.campo1 Tabla2.campo1 tabla2.campo2

10 1 1 5

10 1 1 3

9 2 2 8

Como se puede comprobar, la tercera fila de la tabla 1, no aparece en el join. Esto es debido a que el valor del atributo por el que se hace el join (campo1), cuyo valor es 3, no existe en el atributo campo1 de la tabla 2. A este tipo de join se le denomina inner join. El otro tipo de join, denominado outer join, consiste en realizar el join, pero incluyendo todas las filas de ambas tablas, aunque éstas no tengan correspondencia en la otra tabla. Dentro de este tipo de join, existen dos categorías:

Left join: incluyen todas las filas de la primera tabla, aunque éstas no tengan correspondencia en la segunda. Los campos de la segunda tabla se rellenan con interrogantes.

Tabla 4

Tabla1.campo2 tabla1.campo1 tabla2.campo1 tabla2.campo2

10 1 1 5

10 1 1 3

9 2 2 8

4 3 NULL NULL

En Trasact SQL, la sentencia para realizar este left join sería el siguiente:

SELECT * FROM tabla1

Prof. Angel Roque 20

Page 21: Manual Transact

LENGUAJE DE PROGRAMACION IV

left join tabla2 on tabla1.campo1 = tabla2.campo1

Rigth join: incluyen todas las filas de la segunda tabla, aunque éstas no tengan correspondencia en la primera. Los campos de la primera tabla se rellenan con interrogantes.

Tabla 5tabla1.campo2 tabla1.campo1 tabla2.campo1 tabla2.campo2

10 1 1 5

10 1 1 3

9 2 2 8

NULL NULL 4 1

En Trasact SQL, la sentencia para realizar este rigth join aparece en el Código:

SELECT * FROM tabla1rigth join tabla2 on tabla1.campo1 = tabla2.campo1

También se puede realizar un join por más de un campo. A continuación se realiza un join entre las tablas Tabla 1 y Tabla 2, por los campos comunes campo1 y campo2.

SELECT * FROM tabla1, tabla2 WHERE tabla1.campo1 = tabla2.campo1 AND tabla1.campo2= tabla2.campo2

En el lenguaje de manipulación de datos, una de las operaciones más usuales es precisamente la de join de varias tablas. Veamos un ejemplo de implementación de join en Transact SQL.

Si se desea obtener el título de cada obra, junto con el nombre de su autor, debemos ejecutar el código:

SELECT titles.title, authors.au_lname FROM titles, titleauthor, authorsWHERE titles.title_id = titleauthor.title_id AND titleauthor.au_id = authors.au_id

Analizando la anterior sentencia. 1. Será necesario acceder a la tabla de títulos, que es donde se encuentra el título

de cada obra.2. Luego, se realiza un join de esta tabla, con la tabla intermedia titleauthor, que

es la que almacena el código de cada título, junto con los autores que lo han escrito.

3. A partir de esta tabla, podemos acceder a los autores, realizando un join de la tabla titleauthor con la tabla authors, precisamente por el campo au_id, que es el código del autor. Por lo tanto, la cláusula WHERE realiza los dos join necesarios para acceder a las tres tablas.

Prof. Angel Roque 21

Page 22: Manual Transact

LENGUAJE DE PROGRAMACION IV

Si observamos, en la cláusula FROM se deben especificar todas las tablas que serán accedidas, aunque no se muestre ningún atributo de esas tablas.

En la cláusula WHERE, además de las condiciones de join, se puede especificar otro tipo de condiciones.

Por ejemplo, si queremos obtener una relación de todos los títulos cuyo precio no supere los 20 $, junto con sus autores, ejecutaremos la misma sentencia que antes, pero añadiendo ahora una nueva condición, que es que el atributo price de la tabla titles no supere los 20$.

SELECT titles.title, authors.au_lname, titles.price FROM titles, titleauthor, authorsWHERE titles.title_id = titleauthor.title_idAND titleauthor.au_id = authors.au_idAND titles.price < 20

SENTENCIAS BIFURCATIVASLas sentencias condicionales son aquellas que permiten discriminar entre diversas sentencias, según se cumpla el valor de una expresión lógica. Existen dos tipos de sentencias condicionales. La primera de ellas tiene la siguiente sintaxis:

IF expresion_lógicasentencia1

[ELSE sentencia2]

La sentencia 1 sólo se ejecutará si el resultado de la evaluación de la expresión lógica es verdadera. En otro caso, se ejecutará la sentencia 2, correspondiente a la parte ELSE (opcional). Si se desea especificar un conjunto de sentencias, en lugar de una sola, éstas deberán ir encerradas entre las palabras reservadas BEGIN y END. Si deseamos obtener los títulos almacenados cuando éstos superen las 10 unidades, y el número de ellos cuando no lo superen, ejecutaremos:

IF (SELECT count(*) FROM titles) > 10BEGIN

SELECT title FROM titlesEND

ELSEBEGIN

SELECT count(*) FROM titlesEND

La sentencia SELECT title FROM titles sólo se ejecutará cuando se cumpla la condición (SELECT count(*) FROM titles) > 10. En otro caso, se ejecutará ELSE, que devuelve el número de títulos almacenados en la tabla titles.

Prof. Angel Roque 22

Page 23: Manual Transact

LENGUAJE DE PROGRAMACION IV

Otra forma de ejecutar sentencias de forma condicional, corresponde a la sentencia CASE. La sintaxis es la siguiente:

CASE expresion1WHEN expresion2 THEN resultado1WHEN expresion3 THEN resultado2...[ELSE resultado3]

En la sintaxis se compara la expresión 1, con el resto de expresiones especificadas a continuación de la palabra reservada WHEN. Si alguna de estas expresiones se cumple, se devolverá el resultado correspondiente a la palabra reservada THEN. Si no verifica o no se cumple ninguna de las expresiones, se devolverá el resultado especificado a continuación del ELSE.

Por ejemplo, si queremos saber el nombre de los estados de los autores, en lugar de las iniciales, podemos ejecutar el.

SELECT state = CASE stateWHEN 'CA' THEN 'California'WHEN 'OR' THEN 'Oregon'ELSE 'Otro'ENDFROM authors

En este caso se comprueba el valor del atributo state, y si este es igual a CA, se devolverá California, si es OR se devolverá Oregon, y en otro caso se devolverá la cadena 'Otro'.

SENTENCIAS ITERATIVASUna sentencia iterativa es aquella que permite ejecutar una o varias sentencias de manera repetida, mientras se cumpla una condición lógica. La sentencia que permite realizarlo es WHILE, y su sintaxis

WHILE expresion_logica sentencia[BREAK][CONTINUE]

La sentencia especificada se ejecuta de forma iterativa, mientras se cumpla la expresión lógica. La cláusula BREAK, permite romper el bucle, y abandonarlo, aunque se cumpla la expresión lógica, mientras que CONTINUE permite ejecutar de nuevo las sentencias desde el comienzo del bucle, ignorando aquellas que vienen a continuación del CONTINUE.

Prof. Angel Roque 23

Page 24: Manual Transact

LENGUAJE DE PROGRAMACION IV

TIPOS DE DATOS EN SQL – 2000

Existe una amplia variedad de tipos de datos que podemos utilizar en Transact SQL. Estos tipo de datos serán utilizados a la hora de definir los atributos de una tabla. La siguiente tabla muestra una descripción de éstos:

Identificador en SQL Server

Descripción Rango de valores Tamaño

Int Entero largoDesde -2.147.483.648 hasta +2.147.483.647

4 bytes

Smallint Entero cortoDesde -32.768 hasta 32.767

2 bytes

TinyintEntero mínusculo (sin signo)

Desde 0 hasta 255 1 byte

numeric(p,s)decimal(p,s)

decimal exacto sin redondeo

Enteros y decimales desde -1.79E308 hasta +1.79E308 en donde p es el número de dígitos de la parte entera (precisión) y s es el de la parte decimal (escala)

de 2 a 17 bytes dependiendo de la precisión especificada

float(n)

númerico de coma flotante con redondeo, donde n está comprendido entre 8 y 15. Doble precisión.

Redondeos de números desde -1.79E308 hasta +1.79E308. Precisión positiva: desde 2.23E-308 hasta 1.79E308Precisión negativa: desde  -2.23E-308 hasta -1.79E308

8 bytes

real

númerico de coma flotante con redondeo, donde n está comprendido entre 1 y 7. Simple precisión.

Redondeos de números desde -3.40E38 hasta +3.40E38. Precisión positiva: desde 1.18E-38 hasta 3.40E38Precisión negativa: desde  -1.18E-38 hasta -3.40E38

4 bytes

char(n)Alfanúmerico de longitud fija

Declarable hasta un máximo de 255 caracteres

1 byte por carácter declarado. Espacio consumido fijo.

varchar(n)Alfanúmerico de longitud variable

Declarable hasta un máximo de 255 caracteres

1 byte por carácter usado. Espacio consumido variable

money

Moneda. Números con una precisión de cuatro decimales.

  8 bytes

Prof. Angel Roque 24

Page 25: Manual Transact

LENGUAJE DE PROGRAMACION IV

smallmoney

Moneda. Números con una precisión de cuatro decimales.

Desde -922.337.203.685.447,5508 hasta 922.337.203.685.447,5507

4 bytes

datetimeFecha y hora para fechas históricas

Desde 1-enero-1753 hasta 31-diciembre-9999. El dato horario se guarda como número de milisegundos desde la medianoche del día en cuestión

8 bytes

smalldatetimeFecha y hora para uso corriente

Desde 1-enero-1900 hasta 06-junio-2079. El dato horario se guarda como número de milisegundos desde la medianoche del día en cuestión

4 bytes

binary(n)Campo binario de longitud fija

Máximo de 255 bytes de longitud

n bytes, sean usados todos o no

varbinary(n)Campo binario de longitud variable

Máximo de 255 bytes de longitud

n bytes como máximo

textCampo para texto largo de tipo Memo.

Máximo de 2 Gigabytes de longitud

Máximo 2 GB

imageCampo para guardar imágenes de hasta 2 Gigas

Máximo de 2 Gigabytes de longitud

Máximo 2 GB

bit Tipo bit 0 ó 1

Desde 1 bit mínimo reutilizado a partir del espacio de otra columna hasta 1 byte máximo si la columna fuera única.

Prof. Angel Roque 25

Page 26: Manual Transact

LENGUAJE DE PROGRAMACION IV

RESUMEN DE FUNCIONES EN SQL

Sql-Server 2000 dispone de funciones incorporadas que pueden ser usadas para algunas operaciones o cálculos sobre los datos de una tabla.

Estas funciones se agrupan de la siguiente manera: Funciones de Agregado.

Realizan operaciones que combinan varios valores en uno. Ejemplo: COUNT, SUM, MIN, MAX, etc.

FUNCION RESULTADOAVG(expresión) Promedio de la expresión para toda la tabla o para

grupos.COUNT(* | columna) Cuenta filasMAX(expresión) Valor máximo de la expresión para toda la tabla o

para grupos.MIN(expresión) Valor mínimo de la expresión para toda la tabla o

para grupos.SUM(expresión) Suma de la expresión para toda la tabla o para

grupos.

Funciones de Fecha y HoraTratan valores de tipo DATETIME y SMALLDATETIMEFUNCION RESULTADOGETDATE() Retorna la fecha y hora del sistema,

similar a DATE()DATEADD(parteFecha,n,fecha) Retorna una nueva fecha añadiendo n

unidades de parteFecha a fechaDATEDIFF(parteFecha,fecha1,fecha2)

Retorna la diferencia en parteFecha entre fecha1 y fecha2

DATENAME(parteFecha,fecha) Retorna la cadena correspondiente a parteFecha en fecha

DATEPART(parteFecha,fecha) Retorna el número correspondiente a parteFecha en fecha

DAY(fecha) Retorna el número correspondiente a la parte del día de fecha

MONTH(fecha) Retorna el número correspondiente a la parte del mes de fecha

YEAR(fecha) Retorna el número correspondiente a la parte del año de fecha

GETUTCDATE() Retorna la fecha y hora del meridiano de Greenwich

En donde parteFecha puede ser:parteFecha Abreviatura parteFecha Abreviatura parteFecha Abreviaturayear yy, yyyy dayofyear dy, y weekday dwquarter qq, q day dd, d hour hhmonth mm, m week wk, ww minute mi, n

El formato para fechas en SQL es mm-dd-yy.

Prof. Angel Roque 26

Page 27: Manual Transact

LENGUAJE DE PROGRAMACION IV

Funciones matemáticasRealizan operaciones trigonométricas, geométricas, y demás operaciones numéricas.

FUNCION RESULTADOABS(n) Retorna el valor absolutoSIN(n) Retorna el seno de nCOS(n) Retorna el coseno de nTAN(n) Retorna la tangente de nASIN(n) Retorna el arco seno de nACOS(n) Retorna el arco coseno de nATAN(n) Retorna el arco tangente de nCEILING(n) Entero de simple precisión mayor o igual que el

valor específicoDEGRESS(n) Convierte radianes a gradosEXP(n) Retorna el exponencial de un númeroFLOOR(n) Entero largo menor o igual al valor especificadoLOG(n) Logaritmo natural de un númeroPI Constante que retorna 3.1416RADIANS(n) Convierte grados en radianesRAND(n) Devuelve un valor aleatorio entre 0 y 1ROUND(n) Redondea un número n a m cifras decimalesSQRT(n) Devuelve la raíz cuadrada de un número

Funciones de Conjunto de FilasDevuelven conjunto de filas que se pueden usar en el lugar de una referencia de tabla de una instrucción de Transact-SQL.

Funciones de CadenaTratan datos o valores char, varchar, nchar, nvarchar, binary y varbinary.FUNCION RESULTADOASCII(expC) Devuelve el código ASCCICHAR(n) Devuelve el carácter ASCII de n LOWER(expC) Convierte a minúsculasUPPER(expC) Convierte a mayúsculasSUBSTR(expC,m,n) Extrae n caracteres a partir de la posición m de la

expCLTRIM(expC) Elimina los espacios en blanco por la izquierdaRTRIM(expC) Elimina los espacios en blanco por la derechaREPLICATE(expC,n) Repite n veces la expC.REVERSE(exp.) Retorna la cadena invertidaSPACE(n) Retorna n espacios en blancoSTR(expN[,m[,n]]) Convierte la expN a carácter, opcionalmente a m

espacios con n cifras decimales.

Funciones de texto e imagenTratan valores Text e Image

Entre otras funciones propias del sistema.

Prof. Angel Roque 27

Page 28: Manual Transact

LENGUAJE DE PROGRAMACION IV

ACTIVIDAD 2 : 1. Investigue sobre funciones para el tratamiento de filas o registros y funciones para el manejo de texto e imagen, incluya los

conceptos en un documento llamado FUNCIONES.DOC y almacénelo en la carpeta D:\practicasSQL. Debe incluir su nombre dentro del documento.

2. Considerando los siguientes datos:

Base de datos : PERSONAL Tabla : TRABAJADOR.DBF cuya estructura es:

Codigo, C Código del trabajadorNombres C Nombres del TrabajadorApellido C Apellidos del TrabajadorArea, C Area al que perteneceCargo, C Cargo que ostenta el trabajadorMtoven N Monto vendidoSueBas, N Sueldo básico Dsctos, N DescuentosBonifs, N BonificacionesSueTot N Sueldo TotalVacacion; L si es verdadero el trabajador está de vacaciones.

Codigo Nombres Apellidos area Cargo Mtoven suebas Dsctos Bonifs SueTot vacacionT-001T-003T-002T-004T-005T-006T-007T-008

Juan Carlos Israel Iskra Raul Ana Rosa Miguel AngelMaría Andrés

Tafur Guzmán Guzmán ValladaresNúñez de VelaSifuentes NúñezMendivil TafurCárdenas GuzmánOlivares ChacónViaña Alegre

GerenciaContabilidadContabilidadAdministraciónVentaAdministración

GerenteContadorAuxiliarAdministradorVendedorLimpiezaVendedorGuardianía

2000

4000

150012507001400

500

500

.F.

.F.

.F.

.F.

.F.

.F.

.F.

.F.

Prof. Angel Roque 28

Page 29: Manual Transact

LENGUAJE DE PROGRAMACION IVVentasAdministración

Realice las siguientes tareas utilizando TRANSACT-SQL:1. Crear la Base de datos2. Crear la tabla definiendo clave primaria y la columna calculada DESCUENTOS que es el 3% del SUELDO BÁSICO. Asigne la

propiedad IDENTITY a la columna de la clave principal.3. Modifique la tabla y:

Defina restricciones DEFAULT para vacación (todo nuevo registro agregado a la tabla debe tener como vacación falso). Defina restricciones CHECK para la columna AREA, valores posibles de ser aceptados: GERENCIA, CONTABILIDAD,

ADMINISTRACION Y VENTAS. Defina restricciones CHECK para la columna CARGO, valores posibles de ser aceptados: GERENTE, CONTADOR,

AUXILIAR, VENDEDOR, LIMPIEZA, GUARDIANIA.

4. Altere la tabla y asigne valores no nulos para todas las columnas que no tengan restricciones check, default, primary key, identity, foreign key, unique

5. Inserte los datos como se indican.6. Calcule y Actualice los Sueldos Básicos para los vendedores siempre y cuando no estén de vacaciones: El

SueBas=MontoVendido*0.25 si el MontoVendido es <3000; SueBas=MontoVendido*0.30 si el MontoVendido es >=3000

7. Calcule y actualice las Bonificaciones para todos los trabajadores que no estén de vacaciones:Bonifs= 2.5% del SueBas para todos los del Area de Gerencia y para el ContadorBonifs= 2% del SueBas si Area es Contabilidad y cargo es AuxiliarBonifs= 2% del MontoVendido si Area es Ventas y MontoVendido<3000 y Bonifs= 3% del MontoVendido si MontoVendido>=3000Bonifs= 3% del SueBas si Area es Administración

8. Calcule y Actualice el sueldo total para todos los registros: SueTot=Suebas+Bonifs-Dsctos.

9. Localice al trabajador cuyo nombre “ANDRES”, verifique si está de vacaciones si es así cambie el valor del campo vacaciones a falso.

Prof. Angel Roque 29

Page 30: Manual Transact

LENGUAJE DE PROGRAMACION IV

10.Localice al trabajador cuyo código sea igual a una “T008” y tenga como cargo guardianía; muestre sus datos en pantalla

11.Agregue un nuevo campo a la tabla:FechaIng D Fecha de ingreso a la empresa

Y actualice datos para ese campo con fechas que varíen entre los años 1990 y 2007.

12. Realice una consulta y un conteo de todos aquellos trabajadores que están de vacaciones.13. Realice una consulta y conteo de todos los trabajadores que tenga más de 3 años en la empresa.14.Realice una consulta de todos aquellos trabajadores cuyo nombre empiece con la letra ‘A’15.Realice una consulta de todos aquellos trabajadores en cuyo apellido se encuentre la cadena ‘Guzmán’16.Realice una consulta de todos aquellos trabajadores cuyo sueldo total esté en el rango de 1000 a 200017.Realice una consulta de todos los trabajadores agrupados por CARGO18.Realice una consulta obteniendo la suma de sueldos de todos los trabajadores que no estén de vacaciones.

ACTIVIDAD 3

1. Construya la base de datos haciendo uso del script siguiente:

----------------------------------------------------------- Empresa : MegaService S.A.C.-- Software : Sistema de Control de Inventarios-- DBMS : MS SQL Server-- Base de Datos : MegaService-- Script : Crea la base de datos MegaMarket---------------------------------------------------------

----------------------------------

Prof. Angel Roque 30

Page 31: Manual Transact

LENGUAJE DE PROGRAMACION IV-- Creación de la base de datos----------------------------------USE mastergo

IF EXISTS ( SELECT name FROM sysdatabases WHERE name = 'MegaService )DROP DATABASE MegaService

go

CREATE DATABASE MegaServicego

USE MegaServicego

------------------------------ Creación de las tablas----------------------------CREATE TABLE GUIA_DETALLE ( IdGuia int NOT NULL, IdProducto int NOT NULL, PrecioVenta money NOT NULL, Cantidad smallint NOT NULL )go

ALTER TABLE GUIA_DETALLEADD PRIMARY KEY (IdGuia, IdProducto)

go

CREATE TABLE ORDEN_DETALLE ( IdOrden int NOT NULL, IdProducto int NOT NULL,

Prof. Angel Roque 31

Page 32: Manual Transact

LENGUAJE DE PROGRAMACION IV PrecioCompra money NOT NULL, CantidadSolicitada smallint NOT NULL, CantidadRecibida smallint NULL, Estado varchar(10) NULL )go

ALTER TABLE ORDEN_DETALLE ADD PRIMARY KEY (IdOrden, IdProducto)go

CREATE TABLE PRODUCTO ( IdProducto int IDENTITY, IdCategoria int NOT NULL, IdProveedor int NOT NULL, Nombre varchar(40) NOT NULL, UnidadMedida varchar(30) NULL, PrecioProveedor money NULL, StockActual smallint NULL, StockMinimo smallint NULL, Descontinuado bit )go

ALTER TABLE PRODUCTO ADD PRIMARY KEY (IdProducto)go

ALTER TABLE PRODUCTOADD UNIQUE (Nombre, UnidadMedida)

goCREATE TABLE PROVEEDOR ( IdProveedor int IDENTITY, Nombre varchar(40) NOT NULL, Representante varchar(30) NULL,

Prof. Angel Roque 32

Page 33: Manual Transact

LENGUAJE DE PROGRAMACION IV Direccion varchar(60) NULL, Ciudad varchar(15) NULL, Departamento varchar(15) NULL, CodigoPostal varchar(15) NULL, Telefono varchar(15) NULL, Fax varchar(15) NULL )go

ALTER TABLE PROVEEDOR ADD PRIMARY KEY (IdProveedor)go

CREATE TABLE CATEGORIA ( IdCategoria int IDENTITY, Nombre varchar(20) NOT NULL, Descripcion varchar(40) NULL )go

ALTER TABLE CATEGORIA ADD PRIMARY KEY (IdCategoria)go

ALTER TABLE CATEGORIAADD UNIQUE (Nombre)

go

CREATE TABLE GUIA ( IdGuia int NOT NULL, IdLocal int NOT NULL, FechaSalida datetime NOT NULL, Transportista varchar(30) NOT NULL )go

Prof. Angel Roque 33

Page 34: Manual Transact

LENGUAJE DE PROGRAMACION IVALTER TABLE GUIA ADD PRIMARY KEY (IdGuia)go

CREATE TABLE LOCAL ( IdLocal int NOT NULL, Direccion varchar(60) NULL, Distrito varchar(20) NULL, Telefono varchar(15) NULL, Fax varchar(15) NULL )go

ALTER TABLE LOCAL ADD PRIMARY KEY (IdLocal)go

CREATE TABLE ORDEN ( IdOrden int NOT NULL, FechaOrden datetime NOT NULL, FechaEntrada datetime NULL )go

ALTER TABLE ORDEN ADD PRIMARY KEY (IdOrden)Go

------------------------------ Creación de las restricciones----------------------------

ALTER TABLE GUIA_DETALLEADD FOREIGN KEY (IdProducto)

Prof. Angel Roque 34

Page 35: Manual Transact

LENGUAJE DE PROGRAMACION IVREFERENCES PRODUCTO

go

ALTER TABLE GUIA_DETALLE ADD FOREIGN KEY (IdGuia)

REFERENCES GUIAgo

ALTER TABLE ORDEN_DETALLE ADD FOREIGN KEY (IdOrden)

REFERENCES ORDENgo

ALTER TABLE ORDEN_DETALLE ADD FOREIGN KEY (IdProducto)

REFERENCES PRODUCTOgo

ALTER TABLE PRODUCTO ADD FOREIGN KEY (IdProveedor)

REFERENCES PROVEEDORgo

ALTER TABLE PRODUCTO ADD FOREIGN KEY (IdCategoria)

REFERENCES CATEGORIAgo

ALTER TABLE GUIA ADD FOREIGN KEY (IdLocal)

REFERENCES LOCALgo

Prof. Angel Roque 35

Page 36: Manual Transact

LENGUAJE DE PROGRAMACION IV2. Crear el diagrama de relación de la base de datos

3. Agregue datos a las tablas haciendo uso del script siguiente:

----------------------- Tabla Categoria---------------------INSERT categoria VALUES('GOLOSINAS','GALLETAS,CHOCOLATES,CARAMELOS,TOFFES')

INSERT categoria VALUES('EMBUTIDOS','JAMONADAS,JAMONES,SALCHICHAS,CHORIZOS')

INSERT categoria VALUES('HIGIENE PERSONAL','JABONES,P.DENTALES,SHAMPOOS,P.H.')

INSERT categoria VALUES('LACTEOS','LECHES,YOGURES,QUESOS,MANTEQUILLAS')INSERT categoria VALUES('LICORES Y GASEOSAS','VINOS,WHISKIES,BEBIDAS GASIFICADAS')

INSERT categoria VALUES('LIMPIEZA','DETERGENTES,DESINFECTANTES,ACCESORIOS')

------------------- Tabla Local-----------------INSERT local VALUES(1,'AV. LA PAZ 659','MIRAFLORES',NULL,NULL)INSERT local VALUES(2,'AV. BOLIVAR 1789','PUEBLO LIBRE',NULL,NULL)INSERT local VALUES(3,'AV. SAENZ PEÑA 590','CALLAO',NULL,NULL)INSERT local VALUES(4,'PANAMERICANA NORTE KM. 17.5','LOS OLIVOS',NULL,NULL)INSERT local VALUES(5,'AV. ESPAÑA 775','BREÑA',NULL,NULL)

----------------------- Tabla Proveedor---------------------INSERT proveedor VALUES('LACTEOS DEL CENTRO','AREVALO SANCHIZ, WALTER','LIBERTAD 345 URB. EL PINO','HUANCAYO','JUNIN',NULL,NULL,NULL)

Prof. Angel Roque 36

Page 37: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT proveedor VALUES('DISTRIBUIDORA ALEMANA','SCHULTZ SORIA, JACOBO','AV. SAN VICENTE 1276 ATE-VITARTE','LIMA','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('EMBUTIDOS EL GORDITO','GORDILLO BARRIGA, SANCHO','AV. VENEZUELA 5434 BELLAVISTA','CALLAO','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('DISTRIBUIDORA NANDO','ALVARADO VERTIZ, FERNANDO','LOS CONDORES 345 PARQUE INDUSTRIAL EL ALAMO','CALLAO','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('DISTRIBUIDORA ALBRICIAS','ALEGRE PINTADO, ALICIA','LEONCIO PRADO 625 MAGDALENA','LIMA','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('DISTRIBUIDORA DEL HOGAR','SORIANO OLAECHEA, VICTOR','SAN MARTIN 1187 SMP','LIMA','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('PAPELERA PACHACAMAC','QUIROGA QUIROZ, ESTHER','LOTIZACION INDUSTRIAL MZA. H LOTE 34','CAÑETE','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('DISTRIBUIDORA SAN ANTONIO','SANTOS VELA, ARTURO','AV. DEL PACIFICO 5634 SAN JUAN','LIMA','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('EMBOTELLADORA LA PREFERIDA','DEL PINO ALARCON, URSULA', 'HEROES DEL CENEPA 342 CERCADO','TRUJILLO','LA LIBERTAD',NULL,NULL,NULL)

INSERT proveedor VALUES('DROGUERIA MAHAN','MARTICORENA MEJIA, JUAN','AV. CIRCUNVALACION 625 ZONA INDUSTRIAL','AREQUIPA','AREQUIPA',NULL,NULL,NULL)

INSERT proveedor VALUES('QUIMICA DEL NORTE','CHAVEZ VICTORINO, VICTOR', 'JOSE CARLOS MARIATEGUI 473 CERCADO','CHICLAYO','LAMBAYEQUE',NULL,NULL,NULL)

INSERT proveedor VALUES('FABRICA DE EMBUTIDOS DON VICO','VICENTE ALIAGA,VICTORINO', 'AV. VENEZUELA 5521 BELLAVISTA','CALLAO','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('LECHERIAS SAN VICENTE','MALCA UBIDIA, JOSEFINA','PROLONGACION ARICA 1734 CERCADO','LIMA','LIMA',NULL,NULL,NULL)

INSERT proveedor VALUES('GOLOSINAS Y ANTOJOS','ZAVALA ZEGARRA, CLAUDIA','AV. CIRCUNVALACION 755 ZONA INDUSTRIAL','AREQUIPA','AREQUIPA',NULL,NULL,NULL)

Prof. Angel Roque 37

Page 38: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT proveedor VALUES('DISTRIBUIDORA DE GOLOSINAS FENIX','FELICES ARSENIO,JOSE','JR. RECUAY 347 BREÑA','LIMA','LIMA',NULL,NULL,NULL)

---------------------- Tabla Producto--------------------INSERT producto VALUES(1,14,'CARAMELOS BASTON VIENA ARCOR','PAQUETE 454 GR',1.50,200,50,0)INSERT producto VALUES(1,15,'CARAMELOS SURTIDO DE FRUTAS','PAQUETE 450 GR',1.00,300,50,0)INSERT producto VALUES(1,14,'CARAMELOS FRUTAS SURTIDA ARCOR','PAQUETE 520 GR',1.50,250,50,0)INSERT producto VALUES(1,14,'CARAMELOS FRUTAS MASTICABLES','PAQUETE 454 GR',1.30,250,50,0)INSERT producto VALUES(1,15,'CHUPETES LOLY AMBROSOLI','KILOGRAMO',1.20,150,100,0)INSERT producto VALUES(1,15,'FRUNA SURTIDA DONOFRIO','PAQUETE X 24 UNIDADES',1.80,500,100,0)INSERT producto VALUES(1,15,'CHOCOLATE DOÑA PEPA FIELD','PAQUETE X 6 UNIDADES',2.20,500,100,0)INSERT producto VALUES(1,15,'CHOCOLATE CUA CUA FIELD','PAQUETE X 6 UNIDADES',1.60,500,100,0)INSERT producto VALUES(1,15,'MELLOWS FAMILIAR FIELD','PAQUETE 454 GR',2.10,100,50,0)INSERT producto VALUES(1,15,'WAFER CHOCOLATE FIELD','PAQUETE X 9 UNIDADES',0.70,900,100,0)INSERT producto VALUES(1,15,'CHOCOLATE BARRA REGULAR','BARRA 2 ONZAS',0.40,350,100,0)INSERT producto VALUES(1,15,'CHOCOLATE MOSTRO FIELD','PAQUETE X 6 UNIDADES',1.50,250,100,0)INSERT producto VALUES(1,14,'CHOCOLATE BARRA MILKY WAY','BARRA 2.15 ONZAS',0.80,200,100,0)INSERT producto VALUES(1,14,'SNICKERS BAR KING SIZE','BARRA 3.7 ONZAS',1.20,100,10,0)INSERT producto VALUES(1,14,'CHOCOLATE BARRA MILK DOVE','UNIDAD',1.30,150,100,0)INSERT producto VALUES(1,14,'CHOCOLATE BARRA DARK DOVE','UNIDAD',1.30,250,100,0)INSERT producto VALUES(1,14,'MILKY WAY BAR KING SIZE','UNIDAD 3.6 ONZAS',5.00,100,50,0)INSERT producto VALUES(1,15,'GALLETAS CHIPS AHOY','PAQUETE X 6 UNIDADES',1.00,190,100,0)INSERT producto VALUES(1,15,'GALLETAS TUAREG COSTA','PAQUETE X 6 UNIDADES',1.20,700,100,0)INSERT producto VALUES(1,15,'GALLETAS VAINILLA COSTA','PAQUETE X 6 UNIDADES',1.20,120,100,0)INSERT producto VALUES(1,14,'GALLETAS SURTIDAS BUTTER COOKIES','ENVASE 16 ONZAS',2.50,200,50,0)INSERT producto VALUES(1,14,'CHOCOLATE LOVER CHIPS DELUXE','BARRA 16 ONZAS',1.30,230,100,0)INSERT producto VALUES(1,14,'FUDGE SHOPPE DELUXE GRAHAMS','UNIDAD',12.50,156,50,0)INSERT producto VALUES(1,14,'FUDGE SHOPPE STICKS KEEB','UNIDAD',8.50,250,50,0)INSERT producto VALUES(1,14,'GALLETAS DELICE','PAQUETE 100 GR',2.30,120,100,0)

INSERT producto VALUES(2,1,'JAMONADA LAIVE','KILOGRAMO',12.50,80,75,0)INSERT producto VALUES(2,12,'JAMONADA ESPECIAL LA SEGOVIANA','KILOGRAMO',10.50,55,75,0)INSERT producto VALUES(2,2,'JAMONADA POLACA OTTO KUNZ','KILOGRAMO',12.50,90,75,0)INSERT producto VALUES(2,4,'JAMONADA DE POLLO SAN FERNANDO','KILOGRAMO',10.00,80,75,0)INSERT producto VALUES(2,2,'JAMONADA ESPECIAL OTTO KUNZ','KILOGRAMO',17.00,100,75,0)

Prof. Angel Roque 38

Page 39: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT producto VALUES(2,4,'JAMON INGLES SAN FERNANDO','KILOGRAMO',12.50,55,50,0)INSERT producto VALUES(2,1,'JAMON INGLES LAIVE','KILOGRAMO',20.50,75,50,0)INSERT producto VALUES(2,2,'JAMON LIGHT BRAEDT','KILOGRAMO',20.50,80,50,0)INSERT producto VALUES(2,2,'JAMON YORK BRAEDT','KILOGRAMO',22.50,75,50,0)INSERT producto VALUES(2,12,'JAMON INGLES LA SEGOVIANA','KILOGRAMO',11.50,55,50,0)INSERT producto VALUES(2,3,'JAMON YORK SALCHICHERIA ALEMANA','KILOGRAMO',21.50,50,50,0)INSERT producto VALUES(2,1,'HOT DOG LAIVE PELADO','KILOGRAMO',5.50,120,100,0)INSERT producto VALUES(2,12,'HOT DOG LA SEGOVIANA','KILOGRAMO',6.80,120,100,0)INSERT producto VALUES(2,2,'HOT DOG AMERICANO OTTO KUNZ','KILOGRAMO',7.50,125,100,0)INSERT producto VALUES(2,3,'HOT DOG CERDEÑA','KILOGRAMO',8.00,95,100,0)INSERT producto VALUES(2,2,'HOTDOG AMERICANO BRAEDT','KILOGRAMO',9.50,100,100,0)INSERT producto VALUES(2,4,'SALCHICHA DE HUACHO','KILOGRAMO',10.50,80,100,0)INSERT producto VALUES(2,4,'HOT DOG EXTRA SAN FERNANDO','KILOGRAMO',9.50,90,100,0)INSERT producto VALUES(2,1,'CHORIZO PARRILLERO LAIVE','KILOGRAMO',11.50,55,50,0)INSERT producto VALUES(2,2,'CHORIZO PARRILLERO OTTO KUNZ','KILOGRAMO',10.50,60,50,0)INSERT producto VALUES(2,2,'CHORIZO PARRILLERO BRAEDT','KILOGRAMO',15.50,90,50,0)INSERT producto VALUES(2,3,'CHORIZO PARRILLERO CERDEÑA','KILOGRAMO',11.50,70,50,0)INSERT producto VALUES(2,2,'CHORIZO ITALIANO OTTO KUNZ','KILOGRAMO',15.00,55,50,0)INSERT producto VALUES(2,2,'CHORIZO NURENBERG BRAEDT','KILOGRAMO',12.00,65,50,0)INSERT producto VALUES(2,3,'CHORIZO PARRILLERO CATALANES','KILOGRAMO',10.50,70,50,0)INSERT producto VALUES(3,5,'ACEITE BABY JOHNSONS C/ALOE Y VIT. E','FRASCO 100 ML',3.90,175,100,0)INSERT producto VALUES(3,5,'ACEITE JOHNSONS','FRASCO 100 ML',3.90,123,100,0)INSERT producto VALUES(3,5,'ACEITE BABY JOHNSONS','FRASCO 300 ML',7.95,75,100,0)INSERT producto VALUES(3,5,'ACEITE BABY JOHNSONS C/ALOE Y VIT. E','FRASCO 300 ML',7.95,130,100,0)INSERT producto VALUES(3,6,'ACEITE P/BEBES DR. ZAIDMAN','FRASCO 120 ML',4.30,89,100,0)INSERT producto VALUES(3,5,'ACEITE JOHNSONS CREMOSO','FRASCO 200 ML',4.10,125,100,0)INSERT producto VALUES(3,6,'ACEITE P/BEBES NINET','FRASCO 230 ML',8.00,97,100,0)INSERT producto VALUES(3,6,'ACEITE P/BEBES CHICCO','FRASCO 200 ML',12.00,120,100,0)INSERT producto VALUES(3,6,'CEPILLO ODONTOLOGICA EXTRA MEDIANO','UNIDAD',1.35,75,100,0)INSERT producto VALUES(3,6,'CEPILLO ODONTOLOGICA EXTRA SUAVE','UNIDAD',1.35,120,100,0)INSERT producto VALUES(3,5,'CEPILLO DENTAL FLEX ADULTO','CAJA X 2 UNIDADES',4.70,150,100,0)INSERT producto VALUES(3,5,'CEPILLO ADVANTAGE-60 CONTROL','UNIDAD',4.60,200,100,0)INSERT producto VALUES(3,6,'CEPILLO MASTER ADULTO','UNIDAD',1.30,150,100,0)INSERT producto VALUES(3,6,'JABON DOVE BLANCO','UNIDAD X 100 GR',2.00,7500,5000,0)INSERT producto VALUES(3,6,'JABON ROSAS Y LIMON BLANCO','UNIDAD X 105 GR',0.50,7000,5000,0)INSERT producto VALUES(3,6,'JABON ROSAS Y LIMON ROSADO','UNIDAD X 105 GR',0.50,4900,5000,0)INSERT producto VALUES(3,6,'PASTA DENTAL A/S ULTRA MENTA','TUBO 75 ML',2.20,1200,1000,0)INSERT producto VALUES(3,5,'PASTA DENTAL KOLYNOS SUPER BLANCO','TUBO 75 ML',1.40,1000,1000,0)INSERT producto VALUES(3,6,'PASTA DENTAL ULTRA FRESCA GEL','TUBO 75 ML',2.90,950,1000,0)INSERT producto VALUES(3,6,'PASTA DENTAL CLOSE UP ANTISARRO','TUBO 75 ML',2.80,1300,1000,0)

Prof. Angel Roque 39

Page 40: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT producto VALUES(3,6,'PASTA DENTAL CLOSE UP VERDE','TUBO 75 ML',2.80,1350,1000,0)INSERT producto VALUES(3,5,'PASTA DENTAL KOLYNOS KIDS','TUBO 39 ML',2.80,750,500,0)INSERT producto VALUES(3,6,'PASTA DENTAL CLOSE UP MICRO PARTICULAS','TUBO 90 GR',1.30,1200,1000,0)INSERT producto VALUES(3,7,'P.H. BLANCO SUAVE (ROJA)','PAQUETE X 4 UNIDADES',1.10,750,500,0)INSERT producto VALUES(3,7,'P.H. BLANCO SUAVE DOBLE HOJA (AZUL)','PAQUETE X 4 NIDADES',2.70,800,500,0)INSERT producto VALUES(3,5,'P.H. BLANCO ROLL KLEENEX','PAQUETE X 2 UNIDADES',0.80,1200,1000,0)INSERT producto VALUES(3,5,'P.H. BLANCO ROLL KLEENEX','PAQUETE X 12 UNIDADES',3.50,350,250,0)INSERT producto VALUES(3,7,'P.H. ELITE DOBLE HOJA','PAQUETE X 4 UNIDADES',2.15,1200,500,0)INSERT producto VALUES(3,7,'P.H. ELITE BLANCO EXTRA','PAQUETE X 4 UNIDADES',1.65,1000,500,0)INSERT producto VALUES(3,5,'P.H. SANIT','PAQUETE X 4 UNIDADES',1.80,1300,500,0)INSERT producto VALUES(3,7,'P.H. ELITE BLANCO EXTRA','PAQUETE x 12 UNIDADES',5.05,300,250,0)INSERT producto VALUES(3,5,'SHAMPOO HERBAL CABELLO SECO/DAÑ/TEÑ','FRASCO 355 ML',7.90,300,200,0)INSERT producto VALUES(3,5,'SHAMPOO HERBAL CABELLO NORMAL','FRASCO 355 ML',7.90,250,200,0)INSERT producto VALUES(3,6,'SHAMPOO ALBERTO VO5 CABELLO NORMAL','FRASCO 15 ONZAS',5.50,350,200,0)INSERT producto VALUES(3,5,'SHAMPOO HERBAL CABELLO FINO','FRASCO 355 ML',7.90,150,200,0)INSERT producto VALUES(3,6,'SHAMPOO ALBERTO VO5 JOJOBA','FRASCO 15 ONZAS',5.50,200,200,0)INSERT producto VALUES(3,5,'SHAMPOO HERBAL CABELLO GRASO','FRASCO 355 ML',6.90,350,200,0)INSERT producto VALUES(3,6,'SHAMPOO SEDAL CERAMIDAS 2 EN 1','FRASCO 315 ML',5.90,200,200,0)INSERT producto VALUES(3,6,'SHAMPOO PANTENE CABELLO NORMAL','FRASCO 400 ML',10.90,30,200,0)INSERT producto VALUES(3,6,'SHAMPOO SEDAL DUO','FRASCO 315 ML',5.90,450,200,0)INSERT producto VALUES(3,6,'SHAMPOO PANTENE CABELLO GRASO','FRASCO 400 ML',10.90,300,200,0)

INSERT producto VALUES(4,1,'CREMA DE LECHE LAIVE','ENVASE 160 GR',2.00,250,250,0)INSERT producto VALUES(4,13,'CREMA DE LECHE DUPRE','ENVASE 236 CC',2.10,340,230,0)INSERT producto VALUES(4,2,'CREMA DE LECHE NESTLE','ENVASE 100 GR',1.80,250,250,0)INSERT producto VALUES(4,13,'YOGURT GLORIA FRESA','ENVASE 1 LT',2.00,450,240,0)INSERT producto VALUES(4,13,'YOGURT YOLEIT FRESA','ENVASE 1 LT',1.50,340,250,0)INSERT producto VALUES(4,1,'YOGURT LAIVE FRESA','ENVASE 1 LT',2.00,350,250,0)INSERT producto VALUES(4,1,'CREAM CHESSE LAIVE','POTE 227 GR',3.00,700,250,0)INSERT producto VALUES(4,1,'CREMA DE QUESO LAIVE','POTE 100 GR',3.00,255,250,0)INSERT producto VALUES(4,2,'QUESO CREMA MILKITO','POTE 270 GR',2.00,255,250,0)INSERT producto VALUES(4,1,'MANTEQUILLA LAIVE C/SAL','PAQUETE 0.5 LB',0.50,250,250,0)INSERT producto VALUES(4,1,'MANTEQUILLA LAIVE','PAQUETE 114 GR',0.50,275,250,0)INSERT producto VALUES(4,2,'MANTEQUILLA FERM C/SAL','PAQUETE 227 GR',0.50,250,250,0)INSERT producto VALUES(4,2,'MANTEQUILLA DANESSA','PAQUETE 100 GR',1.50,550,250,0)INSERT producto VALUES(4,2,'MARGARINA ASTRA','PAQUETE 230 GR',0.50,450,250,0)INSERT producto VALUES(4,2,'DORINA CLASICA','POTE 225 GR',0.50,550,250,0)INSERT producto VALUES(4,13,'LECHE CULTIVADA YOLEIT VAINILLA','ENVASE 1 LT',5.00,450,250,0)INSERT producto VALUES(4,13,'LECHE CULTIVADA MILKITO FRESA','ENVASE 1 LT',6.00,450,250,0)

Prof. Angel Roque 40

Page 41: Manual Transact

LENGUAJE DE PROGRAMACION IV

INSERT producto VALUES(5,8,'INCA KOLA DIET DESCARTABLE','BOTELLA 1.5 LT',2.56,486,300,0)INSERT producto VALUES(5,8,'INCA KOLA DESCARTABLE','BOTELLA 1.5 LT',2.56,562,380,0)INSERT producto VALUES(5,8,'INCA KOLA DIET','BOTELLA 500 ML',1.36,562,380,0)INSERT producto VALUES(5,8,'INCA KOLA PLASTIFORMA DESCARTABLE','BOTELLA 500 ML',1.36,658,450,0)INSERT producto VALUES(5,9,'SPRITE DESCARTABLE','BOTELLA 2 LT',2.80,256,175,0)INSERT producto VALUES(5,9,'SPRITE CONTOUR','BOTELLA 500 ML',1.36,320,220,0)INSERT producto VALUES(5,9,'SPRITE DESCARTABLE','BOTELLA 1.5 LT',2.40,261,175,0)INSERT producto VALUES(5,9,'SPRITE RETORNABLE','BOTELLA 2 LT',2.40,325,220,0)INSERT producto VALUES(5,9,'TRIPLE DIET NO RETORNABLE','BOTELLA 1.5 LT',2.04,412,280,0)INSERT producto VALUES(5,9,'7 UP DESCARTABLE','BOTELLA 1.5 LT',2.24,389,265,0)INSERT producto VALUES(5,10,'WHISKY JOHNNIE WALKER ETIQUETA ROJA','BOTELLA 750 ML',12.56,105,75,0)INSERT producto VALUES(5,10,'WHISKY JOHNNIE WALKER ETIQUETA NEGRA','BOTELA 750 ML',23.12,120,80,0)INSERT producto VALUES(5,10,'WHISKY SOMETHING SPECIAL','BOTELLA 750 ML',13.76,98,65,0)INSERT producto VALUES(5,10,'WHISKY CHIVAS REGAL','BOTELLA 750 ML',24.40,110,75,0)INSERT producto VALUES(5,10,'WHISKY YE MONKS','BOTELLA 750 ML',10.00,106,70,0)

INSERT producto VALUES(6,6,'DETERGENTE C/BLANQUEADOR ARIEL','BOLSA 225 GR',2.00,5000,3400,0)INSERT producto VALUES(6,6,'DETERGENTE LIMON ARIEL','BOLSA 250 GR',2.00,5000,3400,0)INSERT producto VALUES(6,5,'DETERGENTE LIMON ECOLOGICO MAGIA BLANCA','BOLSA 250 GR',1.48,5000,3400,0)INSERT producto VALUES(6,5,'DETERGENTE PODER LIMON ACE','BOLSA 250 GR',1.80,5000,3400,0)INSERT producto VALUES(6,6,'DETERGENTE LIMON ARIEL','BOLSA 1 KG',7.56,3500,2380,0)INSERT producto VALUES(6,6,'DETERGENTE LIMON ARIEL','BOLSA 500 GR',3.76,2600,1700,0)INSERT producto VALUES(6,5,'DETERGENTE LIMON INVICTO','BOLSA 225 GR',1.20,5800,3950,0)INSERT producto VALUES(6,6,'DETERGENTE C/BLANQUEADOR ARIEL','BOLSA 900 GR',7.56,3480,2370,0)INSERT producto VALUES(6,5,'DETERGENTE LIMON OPAL','BOLSA 250 GR',1.40,5000,3400,0)INSERT producto VALUES(6,11,'PASTILLAS VAPE VERDE','CAJA X 20 UNIDADES',11.76,680,465,0)INSERT producto VALUES(6,5,'INSECTICIDA CUCARACHAS Y HORMIGAS','ENVASE 440 CC',11.60,120,85,0)INSERT producto VALUES(6,11,'INSECTICIDA MATA POLILLAS RAID','ENVASE 440 CC',11.60,260,175,0)INSERT producto VALUES(6,11,'INSECTICIDA MATA CUCARACHAS RAID','ENVASE 630 CC',17.04,430,290,0)INSERT producto VALUES(6,5,'INSECTICIDA CASA Y JARDIN BAYERN','ENVASE 400 CC',10.64,430,290,0)INSERT producto VALUES(6,11,'INSECTICIDA CASA Y JARDIN RAID','ENVASE 440 CC',11.60,256,175,0)

---------------------------------- Tablas Guia y Guia_Detalle---------------------------------- GOLOSINAS DIA 1INSERT guia VALUES(1, 1, getdate() - 30, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(1, 1, 2.25, 20)INSERT guia_detalle VALUES(1, 2, 1.50, 20)

Prof. Angel Roque 41

Page 42: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(1, 3, 2.25, 20)INSERT guia_detalle VALUES(1, 4, 1.95, 20)INSERT guia_detalle VALUES(1, 6, 2.70, 30)INSERT guia_detalle VALUES(1, 7, 3.30, 25)INSERT guia_detalle VALUES(1, 8, 2.40, 25)INSERT guia_detalle VALUES(1, 9, 3.15, 20)INSERT guia_detalle VALUES(1, 10, 1.05, 20)INSERT guia_detalle VALUES(1, 11, 0.60, 50)INSERT guia_detalle VALUES(1, 12, 2.25, 50)

INSERT guia VALUES(2, 2, getdate() - 25, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(2, 1, 2.25, 20)INSERT guia_detalle VALUES(2, 2, 1.50, 20)INSERT guia_detalle VALUES(2, 3, 2.25, 20)INSERT guia_detalle VALUES(2, 4, 1.95, 20)INSERT guia_detalle VALUES(2, 6, 2.70, 30)INSERT guia_detalle VALUES(2, 7, 3.30, 25)INSERT guia_detalle VALUES(2, 8, 2.40, 25)INSERT guia_detalle VALUES(2, 9, 3.15, 20)INSERT guia_detalle VALUES(2, 10, 1.05, 20)INSERT guia_detalle VALUES(2, 11, 0.60, 50)INSERT guia_detalle VALUES(2, 12, 2.25, 50)

INSERT guia VALUES(3, 3, getdate() - 20, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(3, 1, 2.25, 20)INSERT guia_detalle VALUES(3, 2, 1.50, 20)INSERT guia_detalle VALUES(3, 3, 2.25, 20)INSERT guia_detalle VALUES(3, 4, 1.95, 20)INSERT guia_detalle VALUES(3, 6, 2.70, 30)INSERT guia_detalle VALUES(3, 7, 3.30, 25)INSERT guia_detalle VALUES(3, 8, 2.40, 25)INSERT guia_detalle VALUES(3, 9, 3.15, 20)INSERT guia_detalle VALUES(3, 10, 1.05, 20)INSERT guia_detalle VALUES(3, 11, 0.60, 50)INSERT guia_detalle VALUES(3, 12, 2.25, 50)

INSERT guia VALUES(4, 4, getdate() - 10, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(4, 1, 2.25, 20)INSERT guia_detalle VALUES(4, 2, 1.50, 20)INSERT guia_detalle VALUES(4, 3, 2.25, 20)

Prof. Angel Roque 42

Page 43: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(4, 4, 1.95, 20)INSERT guia_detalle VALUES(4, 6, 2.70, 30)INSERT guia_detalle VALUES(4, 7, 3.30, 25)INSERT guia_detalle VALUES(4, 8, 2.40, 25)INSERT guia_detalle VALUES(4, 9, 3.15, 20)INSERT guia_detalle VALUES(4, 10, 1.05, 20)INSERT guia_detalle VALUES(4, 11, 0.60, 50)INSERT guia_detalle VALUES(4, 12, 2.25, 50)

INSERT guia VALUES(5, 5, getdate() - 5, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(5, 1, 2.25, 20)INSERT guia_detalle VALUES(5, 2, 1.50, 20)INSERT guia_detalle VALUES(5, 3, 2.25, 20)INSERT guia_detalle VALUES(5, 4, 1.95, 20)INSERT guia_detalle VALUES(5, 6, 2.70, 30)INSERT guia_detalle VALUES(5, 7, 3.30, 25)INSERT guia_detalle VALUES(5, 8, 2.40, 25)INSERT guia_detalle VALUES(5, 9, 3.15, 20)INSERT guia_detalle VALUES(5, 10, 1.05, 20)INSERT guia_detalle VALUES(5, 11, 0.60, 50)INSERT guia_detalle VALUES(5, 12, 2.25, 50)-- FIN GOLOSINAS DIA 1

-- EMBUTIDOS DIA 1INSERT guia VALUES(6, 1, getdate() - 30, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(6, 26, 18.75, 15)INSERT guia_detalle VALUES(6, 27, 18.75, 15)INSERT guia_detalle VALUES(6, 28, 18.75, 15)INSERT guia_detalle VALUES(6, 29, 15.00, 20)INSERT guia_detalle VALUES(6, 30, 25.50, 20)INSERT guia_detalle VALUES(6, 37, 8.25, 25)INSERT guia_detalle VALUES(6, 38, 10.20, 20)INSERT guia_detalle VALUES(6, 39, 11.25, 25)INSERT guia_detalle VALUES(6, 42, 15.75, 15)INSERT guia_detalle VALUES(6, 43, 14.25, 20)INSERT guia_detalle VALUES(6, 44, 17.25, 10)

INSERT guia VALUES(7, 2, getdate() - 25, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(7, 26, 18.75, 15)INSERT guia_detalle VALUES(7, 27, 18.75, 15)

Prof. Angel Roque 43

Page 44: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(7, 28, 18.75, 15)INSERT guia_detalle VALUES(7, 29, 15.00, 20)INSERT guia_detalle VALUES(7, 30, 25.50, 20)INSERT guia_detalle VALUES(7, 37, 8.25, 25)INSERT guia_detalle VALUES(7, 38, 10.20, 20)INSERT guia_detalle VALUES(7, 39, 11.25, 25)INSERT guia_detalle VALUES(7, 42, 15.75, 15)INSERT guia_detalle VALUES(7, 43, 14.25, 20)INSERT guia_detalle VALUES(7, 44, 17.25, 10)

INSERT guia VALUES(8, 3, getdate() - 20, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(8, 26, 18.75, 15)INSERT guia_detalle VALUES(8, 27, 18.75, 15)INSERT guia_detalle VALUES(8, 28, 18.75, 15)INSERT guia_detalle VALUES(8, 29, 15.00, 20)INSERT guia_detalle VALUES(8, 30, 25.50, 20)INSERT guia_detalle VALUES(8, 37, 8.25, 25)INSERT guia_detalle VALUES(8, 38, 10.20, 20)INSERT guia_detalle VALUES(8, 39, 11.25, 25)INSERT guia_detalle VALUES(8, 42, 15.75, 15)INSERT guia_detalle VALUES(8, 43, 14.25, 20)INSERT guia_detalle VALUES(8, 44, 17.25, 10)

INSERT guia VALUES(9, 4, getdate() - 15, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(9, 26, 18.75, 15)INSERT guia_detalle VALUES(9, 27, 18.75, 15)INSERT guia_detalle VALUES(9, 28, 18.75, 15)INSERT guia_detalle VALUES(9, 29, 15.00, 20)INSERT guia_detalle VALUES(9, 30, 25.50, 20)INSERT guia_detalle VALUES(9, 37, 8.25, 25)INSERT guia_detalle VALUES(9, 38, 10.20, 20)INSERT guia_detalle VALUES(9, 39, 11.25, 25)INSERT guia_detalle VALUES(9, 42, 15.75, 15)INSERT guia_detalle VALUES(9, 43, 14.25, 20)INSERT guia_detalle VALUES(9, 44, 17.25, 10)

INSERT guia VALUES(10, 5, getdate() - 10, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(10, 26, 18.75, 15)INSERT guia_detalle VALUES(10, 27, 18.75, 15)INSERT guia_detalle VALUES(10, 28, 18.75, 15)

Prof. Angel Roque 44

Page 45: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(10, 29, 15.00, 20)INSERT guia_detalle VALUES(10, 30, 25.50, 20)INSERT guia_detalle VALUES(10, 37, 8.25, 25)INSERT guia_detalle VALUES(10, 38, 10.20, 20)INSERT guia_detalle VALUES(10, 39, 11.25, 25)INSERT guia_detalle VALUES(10, 42, 15.75, 15)INSERT guia_detalle VALUES(10, 43, 14.25, 20)INSERT guia_detalle VALUES(10, 44, 17.25, 10)-- FIN EMBUTIDOS DIA 1

-- LIMPIEZA PERSONAL DIA 1INSERT guia VALUES(11, 1, getdate() - 30, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(11, 51, 5.85, 10)INSERT guia_detalle VALUES(11, 54, 11.95, 10)INSERT guia_detalle VALUES(11, 53, 11.95, 10)INSERT guia_detalle VALUES(11, 58, 18.00, 10)INSERT guia_detalle VALUES(11, 59, 2.05, 20)INSERT guia_detalle VALUES(11, 63, 1.95, 25)INSERT guia_detalle VALUES(11, 64, 3.00, 350)INSERT guia_detalle VALUES(11, 65, 0.75, 1000)INSERT guia_detalle VALUES(11, 66, 0.75, 1000)INSERT guia_detalle VALUES(11, 68, 2.10, 200)INSERT guia_detalle VALUES(11, 74, 1.65, 200)

INSERT guia VALUES(12, 2, getdate() - 25, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(12, 51, 5.85, 10)INSERT guia_detalle VALUES(12, 54, 11.95, 10)INSERT guia_detalle VALUES(12, 53, 11.95, 10)INSERT guia_detalle VALUES(12, 58, 18.00, 10)INSERT guia_detalle VALUES(12, 59, 2.05, 20)INSERT guia_detalle VALUES(12, 63, 1.95, 25)INSERT guia_detalle VALUES(12, 64, 3.00, 350)INSERT guia_detalle VALUES(12, 65, 0.75, 1000)INSERT guia_detalle VALUES(12, 66, 0.75, 1000)INSERT guia_detalle VALUES(12, 68, 2.10, 200)INSERT guia_detalle VALUES(12, 74, 1.65, 200)

INSERT guia VALUES(13, 3, getdate() - 20, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(13, 51, 5.85, 10)INSERT guia_detalle VALUES(13, 54, 11.95, 10)

Prof. Angel Roque 45

Page 46: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(13, 53, 11.95, 10)INSERT guia_detalle VALUES(13, 58, 18.00, 10)INSERT guia_detalle VALUES(13, 59, 2.05, 20)INSERT guia_detalle VALUES(13, 63, 1.95, 25)INSERT guia_detalle VALUES(13, 64, 3.00, 350)INSERT guia_detalle VALUES(13, 65, 0.75, 1000)INSERT guia_detalle VALUES(13, 66, 0.75, 1000)INSERT guia_detalle VALUES(13, 68, 2.10, 200)INSERT guia_detalle VALUES(13, 74, 1.65, 200)

INSERT guia VALUES(14, 4, getdate() - 15, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(14, 51, 5.85, 10)INSERT guia_detalle VALUES(14, 54, 11.95, 10)INSERT guia_detalle VALUES(14, 53, 11.95, 10)INSERT guia_detalle VALUES(14, 58, 18.00, 10)INSERT guia_detalle VALUES(14, 59, 2.05, 20)INSERT guia_detalle VALUES(14, 63, 1.95, 25)INSERT guia_detalle VALUES(14, 64, 3.00, 350)INSERT guia_detalle VALUES(14, 65, 0.75, 1000)INSERT guia_detalle VALUES(14, 66, 0.75, 1000)INSERT guia_detalle VALUES(14, 68, 2.10, 200)INSERT guia_detalle VALUES(14, 74, 1.65, 200)

INSERT guia VALUES(15, 5, getdate() - 10, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(15, 51, 5.85, 10)INSERT guia_detalle VALUES(15, 54, 11.95, 10)INSERT guia_detalle VALUES(15, 53, 11.95, 10)INSERT guia_detalle VALUES(15, 58, 18.00, 10)INSERT guia_detalle VALUES(15, 59, 2.05, 20)INSERT guia_detalle VALUES(15, 63, 1.95, 25)INSERT guia_detalle VALUES(15, 64, 3.00, 350)INSERT guia_detalle VALUES(15, 65, 0.75, 1000)INSERT guia_detalle VALUES(15, 66, 0.75, 1000)INSERT guia_detalle VALUES(15, 68, 2.10, 200)INSERT guia_detalle VALUES(15, 74, 1.65, 200)-- FIN LIMPIEZA PERSONAL DIA 1

-- LACTEOS DIA 1INSERT guia VALUES(16, 1, getdate() - 30, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(16, 92, 3.00, 25)

Prof. Angel Roque 46

Page 47: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(16, 93, 3.15, 25)INSERT guia_detalle VALUES(16, 95, 3.00, 50)INSERT guia_detalle VALUES(16, 97, 3.00, 50)INSERT guia_detalle VALUES(16, 100, 3.00, 25)INSERT guia_detalle VALUES(16, 101, 0.75, 100)INSERT guia_detalle VALUES(16, 103, 0.75, 100)INSERT guia_detalle VALUES(16, 105, 0.75, 100)INSERT guia_detalle VALUES(16, 106, 0.75, 100)INSERT guia_detalle VALUES(16, 107, 7.50, 25)INSERT guia_detalle VALUES(16, 108, 9.00, 25)

INSERT guia VALUES(17, 2, getdate() - 25, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(17, 92, 3.00, 25)INSERT guia_detalle VALUES(17, 93, 3.15, 25)INSERT guia_detalle VALUES(17, 95, 3.00, 50)INSERT guia_detalle VALUES(17, 97, 3.00, 50)INSERT guia_detalle VALUES(17, 100, 3.00, 25)INSERT guia_detalle VALUES(17, 101, 0.75, 100)INSERT guia_detalle VALUES(17, 103, 0.75, 100)INSERT guia_detalle VALUES(17, 105, 0.75, 100)INSERT guia_detalle VALUES(17, 106, 0.75, 100)INSERT guia_detalle VALUES(17, 107, 7.50, 25)INSERT guia_detalle VALUES(17, 108, 9.00, 25)

INSERT guia VALUES(18, 3, getdate() - 20, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(18, 92, 3.00, 25)INSERT guia_detalle VALUES(18, 93, 3.15, 25)INSERT guia_detalle VALUES(18, 95, 3.00, 50)INSERT guia_detalle VALUES(18, 97, 3.00, 50)INSERT guia_detalle VALUES(18, 100, 3.00, 25)INSERT guia_detalle VALUES(18, 101, 0.75, 100)INSERT guia_detalle VALUES(18, 103, 0.75, 100)INSERT guia_detalle VALUES(18, 105, 0.75, 100)INSERT guia_detalle VALUES(18, 106, 0.75, 100)INSERT guia_detalle VALUES(18, 107, 7.50, 25)INSERT guia_detalle VALUES(18, 108, 9.00, 25)

INSERT guia VALUES(19, 4, getdate() - 15, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(19, 92, 3.00, 25)INSERT guia_detalle VALUES(19, 93, 3.15, 25)

Prof. Angel Roque 47

Page 48: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(19, 95, 3.00, 50)INSERT guia_detalle VALUES(19, 97, 3.00, 50)INSERT guia_detalle VALUES(19, 100, 3.00, 25)INSERT guia_detalle VALUES(19, 101, 0.75, 100)INSERT guia_detalle VALUES(19, 103, 0.75, 100)INSERT guia_detalle VALUES(19, 105, 0.75, 100)INSERT guia_detalle VALUES(19, 106, 0.75, 100)INSERT guia_detalle VALUES(19, 107, 7.50, 25)INSERT guia_detalle VALUES(19, 108, 9.00, 25)

INSERT guia VALUES(20, 5, getdate() - 10, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(20, 92, 3.00, 25)INSERT guia_detalle VALUES(20, 93, 3.15, 25)INSERT guia_detalle VALUES(20, 95, 3.00, 50)INSERT guia_detalle VALUES(20, 97, 3.00, 50)INSERT guia_detalle VALUES(20, 100, 3.00, 25)INSERT guia_detalle VALUES(20, 101, 0.75, 100)INSERT guia_detalle VALUES(20, 103, 0.75, 100)INSERT guia_detalle VALUES(20, 105, 0.75, 100)INSERT guia_detalle VALUES(20, 106, 0.75, 100)INSERT guia_detalle VALUES(20, 107, 7.50, 25)INSERT guia_detalle VALUES(20, 108, 9.00, 25)-- FIN LACTEOS DIA 1

-- LICORES Y BEBIDAS DIA 1INSERT guia VALUES(21, 1, getdate() - 30, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(21, 109, 3.85, 100)INSERT guia_detalle VALUES(21, 110, 3.85, 100)INSERT guia_detalle VALUES(21, 111, 2.05, 100)INSERT guia_detalle VALUES(21, 112, 2.05, 100)INSERT guia_detalle VALUES(21, 113, 4.20, 100)INSERT guia_detalle VALUES(21, 114, 2.05, 100)INSERT guia_detalle VALUES(21, 115, 3.60, 100)INSERT guia_detalle VALUES(21, 116, 3.60, 100)INSERT guia_detalle VALUES(21, 117, 3.10, 100)INSERT guia_detalle VALUES(21, 118, 3.35, 100)INSERT guia_detalle VALUES(21, 119, 18.85, 5)

INSERT guia VALUES(22, 2, getdate() - 25, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(22, 109, 3.85, 100)

Prof. Angel Roque 48

Page 49: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(22, 110, 3.85, 100)INSERT guia_detalle VALUES(22, 111, 2.05, 100)INSERT guia_detalle VALUES(22, 112, 2.05, 100)INSERT guia_detalle VALUES(22, 113, 4.20, 100)INSERT guia_detalle VALUES(22, 114, 2.05, 100)INSERT guia_detalle VALUES(22, 115, 3.60, 100)INSERT guia_detalle VALUES(22, 116, 3.60, 100)INSERT guia_detalle VALUES(22, 117, 3.10, 100)INSERT guia_detalle VALUES(22, 118, 3.35, 100)INSERT guia_detalle VALUES(22, 119, 18.85, 5)

INSERT guia VALUES(23, 3, getdate() - 20, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(23, 109, 3.85, 100)INSERT guia_detalle VALUES(23, 110, 3.85, 100)INSERT guia_detalle VALUES(23, 111, 2.05, 100)INSERT guia_detalle VALUES(23, 112, 2.05, 100)INSERT guia_detalle VALUES(23, 113, 4.20, 100)INSERT guia_detalle VALUES(23, 114, 2.05, 100)INSERT guia_detalle VALUES(23, 115, 3.60, 100)INSERT guia_detalle VALUES(23, 116, 3.60, 100)INSERT guia_detalle VALUES(23, 117, 3.10, 100)INSERT guia_detalle VALUES(23, 118, 3.35, 100)INSERT guia_detalle VALUES(23, 119, 18.85, 5)

INSERT guia VALUES(24, 4, getdate() - 15, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(24, 109, 3.85, 100)INSERT guia_detalle VALUES(24, 110, 3.85, 100)INSERT guia_detalle VALUES(24, 111, 2.05, 100)INSERT guia_detalle VALUES(24, 112, 2.05, 100)INSERT guia_detalle VALUES(24, 113, 4.20, 100)INSERT guia_detalle VALUES(24, 114, 2.05, 100)INSERT guia_detalle VALUES(24, 115, 3.60, 100)INSERT guia_detalle VALUES(24, 116, 3.60, 100)INSERT guia_detalle VALUES(24, 117, 3.10, 100)INSERT guia_detalle VALUES(24, 118, 3.35, 100)INSERT guia_detalle VALUES(24, 119, 18.85, 5)

INSERT guia VALUES(25, 5, getdate() - 10, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(25, 109, 3.85, 100)INSERT guia_detalle VALUES(25, 110, 3.85, 100)

Prof. Angel Roque 49

Page 50: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(25, 111, 2.05, 100)INSERT guia_detalle VALUES(25, 112, 2.05, 100)INSERT guia_detalle VALUES(25, 113, 4.20, 100)INSERT guia_detalle VALUES(25, 114, 2.05, 100)INSERT guia_detalle VALUES(25, 115, 3.60, 100)INSERT guia_detalle VALUES(25, 116, 3.60, 100)INSERT guia_detalle VALUES(25, 117, 3.10, 100)INSERT guia_detalle VALUES(25, 118, 3.35, 100)INSERT guia_detalle VALUES(25, 119, 18.85, 5)-- FIN LICORES Y BEBIDAS DIA 1

-- LIMPIEZA DIA 1INSERT guia VALUES(26, 1, getdate() - 30, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(26, 124, 3.00, 500)INSERT guia_detalle VALUES(26, 125, 3.00, 500)INSERT guia_detalle VALUES(26, 126, 2.25, 500)INSERT guia_detalle VALUES(26, 127, 2.70, 500)INSERT guia_detalle VALUES(26, 129, 5.64, 250)INSERT guia_detalle VALUES(26, 130, 1.80, 1000)INSERT guia_detalle VALUES(26, 132, 2.10, 500)INSERT guia_detalle VALUES(26, 133, 17.65, 10)INSERT guia_detalle VALUES(26, 134, 17.40, 10)INSERT guia_detalle VALUES(26, 135, 17.40, 10)INSERT guia_detalle VALUES(26, 136, 25.55, 10)

INSERT guia VALUES(27, 2, getdate() - 25, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(27, 124, 3.00, 500)INSERT guia_detalle VALUES(27, 125, 3.00, 500)INSERT guia_detalle VALUES(27, 126, 2.25, 500)INSERT guia_detalle VALUES(27, 127, 2.70, 500)INSERT guia_detalle VALUES(27, 129, 5.64, 250)INSERT guia_detalle VALUES(27, 130, 1.80, 1000)INSERT guia_detalle VALUES(27, 132, 2.10, 500)INSERT guia_detalle VALUES(27, 133, 17.65, 10)INSERT guia_detalle VALUES(27, 134, 17.40, 10)INSERT guia_detalle VALUES(27, 135, 17.40, 10)INSERT guia_detalle VALUES(27, 136, 25.55, 10)

INSERT guia VALUES(28, 3, getdate() - 20, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(28, 124, 3.00, 500)

Prof. Angel Roque 50

Page 51: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(28, 125, 3.00, 500)INSERT guia_detalle VALUES(28, 126, 2.25, 500)INSERT guia_detalle VALUES(28, 127, 2.70, 500)INSERT guia_detalle VALUES(28, 129, 5.64, 250)INSERT guia_detalle VALUES(28, 130, 1.80, 1000)INSERT guia_detalle VALUES(28, 132, 2.10, 500)INSERT guia_detalle VALUES(28, 133, 17.65, 10)INSERT guia_detalle VALUES(28, 134, 17.40, 10)INSERT guia_detalle VALUES(28, 135, 17.40, 10)INSERT guia_detalle VALUES(28, 136, 25.55, 10)

INSERT guia VALUES(29, 4, getdate() - 15, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(29, 124, 3.00, 500)INSERT guia_detalle VALUES(29, 125, 3.00, 500)INSERT guia_detalle VALUES(29, 126, 2.25, 500)INSERT guia_detalle VALUES(29, 127, 2.70, 500)INSERT guia_detalle VALUES(29, 129, 5.64, 250)INSERT guia_detalle VALUES(29, 130, 1.80, 1000)INSERT guia_detalle VALUES(29, 132, 2.10, 500)INSERT guia_detalle VALUES(29, 133, 17.65, 10)INSERT guia_detalle VALUES(29, 134, 17.40, 10)INSERT guia_detalle VALUES(29, 135, 17.40, 10)INSERT guia_detalle VALUES(29, 136, 25.55, 10)

INSERT guia VALUES(30, 5, getdate() - 10, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(30, 124, 3.00, 500)INSERT guia_detalle VALUES(30, 125, 3.00, 500)INSERT guia_detalle VALUES(30, 126, 2.25, 500)INSERT guia_detalle VALUES(30, 127, 2.70, 500)INSERT guia_detalle VALUES(30, 129, 5.64, 250)INSERT guia_detalle VALUES(30, 130, 1.80, 1000)INSERT guia_detalle VALUES(30, 132, 2.10, 500)INSERT guia_detalle VALUES(30, 133, 17.65, 10)INSERT guia_detalle VALUES(30, 134, 17.40, 10)INSERT guia_detalle VALUES(30, 135, 17.40, 10)INSERT guia_detalle VALUES(30, 136, 25.55, 10)-- FIN LIMPIEZA DIA 1

-- GOLOSINAS DIA 2INSERT guia VALUES(31, 1, getdate() - 29, 'VELASQUEZ ORTIZ, FRANCISCO')

Prof. Angel Roque 51

Page 52: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(31, 1, 2.25, 20)INSERT guia_detalle VALUES(31, 2, 1.50, 20)INSERT guia_detalle VALUES(31, 3, 2.25, 20)INSERT guia_detalle VALUES(31, 4, 1.95, 20)INSERT guia_detalle VALUES(31, 6, 2.70, 30)INSERT guia_detalle VALUES(31, 7, 3.30, 25)INSERT guia_detalle VALUES(31, 8, 2.40, 25)INSERT guia_detalle VALUES(31, 9, 3.15, 20)INSERT guia_detalle VALUES(31, 10, 1.05, 20)INSERT guia_detalle VALUES(31, 11, 0.60, 50)INSERT guia_detalle VALUES(31, 12, 2.25, 50)

INSERT guia VALUES(32, 2, getdate() - 24, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(32, 1, 2.25, 20)INSERT guia_detalle VALUES(32, 2, 1.50, 20)INSERT guia_detalle VALUES(32, 3, 2.25, 20)INSERT guia_detalle VALUES(32, 4, 1.95, 20)INSERT guia_detalle VALUES(32, 6, 2.70, 30)INSERT guia_detalle VALUES(32, 7, 3.30, 25)INSERT guia_detalle VALUES(32, 8, 2.40, 25)INSERT guia_detalle VALUES(32, 9, 3.15, 20)INSERT guia_detalle VALUES(32, 10, 1.05, 20)INSERT guia_detalle VALUES(32, 11, 0.60, 50)INSERT guia_detalle VALUES(32, 12, 2.25, 50)

INSERT guia VALUES(33, 3, getdate() - 19, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(33, 1, 2.25, 20)INSERT guia_detalle VALUES(33, 2, 1.50, 20)INSERT guia_detalle VALUES(33, 3, 2.25, 20)INSERT guia_detalle VALUES(33, 4, 1.95, 20)INSERT guia_detalle VALUES(33, 6, 2.70, 30)INSERT guia_detalle VALUES(33, 7, 3.30, 25)INSERT guia_detalle VALUES(33, 8, 2.40, 25)INSERT guia_detalle VALUES(33, 9, 3.15, 20)INSERT guia_detalle VALUES(33, 10, 1.05, 20)INSERT guia_detalle VALUES(33, 11, 0.60, 50)INSERT guia_detalle VALUES(33, 12, 2.25, 50)

INSERT guia VALUES(34, 4, getdate() - 14, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(34, 1, 2.25, 20)

Prof. Angel Roque 52

Page 53: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(34, 2, 1.50, 20)INSERT guia_detalle VALUES(34, 3, 2.25, 20)INSERT guia_detalle VALUES(34, 4, 1.95, 20)INSERT guia_detalle VALUES(34, 6, 2.70, 30)INSERT guia_detalle VALUES(34, 7, 3.30, 25)INSERT guia_detalle VALUES(34, 8, 2.40, 25)INSERT guia_detalle VALUES(34, 9, 3.15, 20)INSERT guia_detalle VALUES(34, 10, 1.05, 20)INSERT guia_detalle VALUES(34, 11, 0.60, 50)INSERT guia_detalle VALUES(34, 12, 2.25, 50)

INSERT guia VALUES(35, 5, getdate() - 9, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(35, 1, 2.25, 20)INSERT guia_detalle VALUES(35, 2, 1.50, 20)INSERT guia_detalle VALUES(35, 3, 2.25, 20)INSERT guia_detalle VALUES(35, 4, 1.95, 20)INSERT guia_detalle VALUES(35, 6, 2.70, 30)INSERT guia_detalle VALUES(35, 7, 3.30, 25)INSERT guia_detalle VALUES(35, 8, 2.40, 25)INSERT guia_detalle VALUES(35, 9, 3.15, 20)INSERT guia_detalle VALUES(35, 10, 1.05, 20)INSERT guia_detalle VALUES(35, 11, 0.60, 50)INSERT guia_detalle VALUES(35, 12, 2.25, 50)-- FIN GOLOSINAS DIA 2

-- EMBUTIDOS DIA 2INSERT guia VALUES(36, 1, getdate() - 29, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(36, 26, 18.75, 15)INSERT guia_detalle VALUES(36, 27, 18.75, 15)INSERT guia_detalle VALUES(36, 28, 18.75, 15)INSERT guia_detalle VALUES(36, 29, 15.00, 20)INSERT guia_detalle VALUES(36, 30, 25.50, 20)INSERT guia_detalle VALUES(36, 37, 8.25, 25)INSERT guia_detalle VALUES(36, 38, 10.20, 20)INSERT guia_detalle VALUES(36, 39, 11.25, 25)INSERT guia_detalle VALUES(36, 42, 15.75, 15)INSERT guia_detalle VALUES(36, 43, 14.25, 20)INSERT guia_detalle VALUES(36, 44, 17.25, 10)

INSERT guia VALUES(37, 2, getdate() - 24, 'VELASQUEZ ORTIZ, FRANCISCO')

Prof. Angel Roque 53

Page 54: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(37, 26, 18.75, 15)INSERT guia_detalle VALUES(37, 27, 18.75, 15)INSERT guia_detalle VALUES(37, 28, 18.75, 15)INSERT guia_detalle VALUES(37, 29, 15.00, 20)INSERT guia_detalle VALUES(37, 30, 25.50, 20)INSERT guia_detalle VALUES(37, 37, 8.25, 25)INSERT guia_detalle VALUES(37, 38, 10.20, 20)INSERT guia_detalle VALUES(37, 39, 11.25, 25)INSERT guia_detalle VALUES(37, 42, 15.75, 15)INSERT guia_detalle VALUES(37, 43, 14.25, 20)INSERT guia_detalle VALUES(37, 44, 17.25, 10)

INSERT guia VALUES(38, 3, getdate() - 19, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(38, 26, 18.75, 15)INSERT guia_detalle VALUES(38, 27, 18.75, 15)INSERT guia_detalle VALUES(38, 28, 18.75, 15)INSERT guia_detalle VALUES(38, 29, 15.00, 20)INSERT guia_detalle VALUES(38, 30, 25.50, 20)INSERT guia_detalle VALUES(38, 37, 8.25, 25)INSERT guia_detalle VALUES(38, 38, 10.20, 20)INSERT guia_detalle VALUES(38, 39, 11.25, 25)INSERT guia_detalle VALUES(38, 42, 15.75, 15)INSERT guia_detalle VALUES(38, 43, 14.25, 20)INSERT guia_detalle VALUES(38, 44, 17.25, 10)

INSERT guia VALUES(39, 4, getdate() - 14, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(39, 26, 18.75, 15)INSERT guia_detalle VALUES(39, 27, 18.75, 15)INSERT guia_detalle VALUES(39, 28, 18.75, 15)INSERT guia_detalle VALUES(39, 29, 15.00, 20)INSERT guia_detalle VALUES(39, 30, 25.50, 20)INSERT guia_detalle VALUES(39, 37, 8.25, 25)INSERT guia_detalle VALUES(39, 38, 10.20, 20)INSERT guia_detalle VALUES(39, 39, 11.25, 25)INSERT guia_detalle VALUES(39, 42, 15.75, 15)INSERT guia_detalle VALUES(39, 43, 14.25, 20)INSERT guia_detalle VALUES(39, 44, 17.25, 10)

INSERT guia VALUES(40, 5, getdate() - 9, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(40, 26, 18.75, 15)

Prof. Angel Roque 54

Page 55: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(40, 27, 18.75, 15)INSERT guia_detalle VALUES(40, 28, 18.75, 15)INSERT guia_detalle VALUES(40, 29, 15.00, 20)INSERT guia_detalle VALUES(40, 30, 25.50, 20)INSERT guia_detalle VALUES(40, 37, 8.25, 25)INSERT guia_detalle VALUES(40, 38, 10.20, 20)INSERT guia_detalle VALUES(40, 39, 11.25, 25)INSERT guia_detalle VALUES(40, 42, 15.75, 15)INSERT guia_detalle VALUES(40, 43, 14.25, 20)INSERT guia_detalle VALUES(40, 44, 17.25, 10)-- FIN EMBUTIDOS DIA 2

-- LIMPIEZA PERSONAL DIA 2INSERT guia VALUES(41, 1, getdate() - 29, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(41, 51, 5.85, 10)INSERT guia_detalle VALUES(41, 54, 11.95, 10)INSERT guia_detalle VALUES(41, 53, 11.95, 10)INSERT guia_detalle VALUES(41, 58, 18.00, 10)INSERT guia_detalle VALUES(41, 59, 2.05, 20)INSERT guia_detalle VALUES(41, 63, 1.95, 25)INSERT guia_detalle VALUES(41, 64, 3.00, 350)INSERT guia_detalle VALUES(41, 65, 0.75, 1000)INSERT guia_detalle VALUES(41, 66, 0.75, 1000)INSERT guia_detalle VALUES(41, 68, 2.10, 200)INSERT guia_detalle VALUES(41, 74, 1.65, 200)

INSERT guia VALUES(42, 2, getdate() - 24, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(42, 51, 5.85, 10)INSERT guia_detalle VALUES(42, 54, 11.95, 10)INSERT guia_detalle VALUES(42, 53, 11.95, 10)INSERT guia_detalle VALUES(42, 58, 18.00, 10)INSERT guia_detalle VALUES(42, 59, 2.05, 20)INSERT guia_detalle VALUES(42, 63, 1.95, 25)INSERT guia_detalle VALUES(42, 64, 3.00, 350)INSERT guia_detalle VALUES(42, 65, 0.75, 1000)INSERT guia_detalle VALUES(42, 66, 0.75, 1000)INSERT guia_detalle VALUES(42, 68, 2.10, 200)INSERT guia_detalle VALUES(42, 74, 1.65, 200)

INSERT guia VALUES(43, 3, getdate() - 19, 'VELASQUEZ ORTIZ, FRANCISCO')

Prof. Angel Roque 55

Page 56: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(43, 51, 5.85, 10)INSERT guia_detalle VALUES(43, 54, 11.95, 10)INSERT guia_detalle VALUES(43, 53, 11.95, 10)INSERT guia_detalle VALUES(43, 58, 18.00, 10)INSERT guia_detalle VALUES(43, 59, 2.05, 20)INSERT guia_detalle VALUES(43, 63, 1.95, 25)INSERT guia_detalle VALUES(43, 64, 3.00, 350)INSERT guia_detalle VALUES(43, 65, 0.75, 1000)INSERT guia_detalle VALUES(43, 66, 0.75, 1000)INSERT guia_detalle VALUES(43, 68, 2.10, 200)INSERT guia_detalle VALUES(43, 74, 1.65, 200)

INSERT guia VALUES(44, 4, getdate() - 14, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(44, 51, 5.85, 10)INSERT guia_detalle VALUES(44, 54, 11.95, 10)INSERT guia_detalle VALUES(44, 53, 11.95, 10)INSERT guia_detalle VALUES(44, 58, 18.00, 10)INSERT guia_detalle VALUES(44, 59, 2.05, 20)INSERT guia_detalle VALUES(44, 63, 1.95, 25)INSERT guia_detalle VALUES(44, 64, 3.00, 350)INSERT guia_detalle VALUES(44, 65, 0.75, 1000)INSERT guia_detalle VALUES(44, 66, 0.75, 1000)INSERT guia_detalle VALUES(44, 68, 2.10, 200)INSERT guia_detalle VALUES(44, 74, 1.65, 200)

INSERT guia VALUES(45, 5, getdate() - 9, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(45, 51, 5.85, 10)INSERT guia_detalle VALUES(45, 54, 11.95, 10)INSERT guia_detalle VALUES(45, 53, 11.95, 10)INSERT guia_detalle VALUES(45, 58, 18.00, 10)INSERT guia_detalle VALUES(45, 59, 2.05, 20)INSERT guia_detalle VALUES(45, 63, 1.95, 25)INSERT guia_detalle VALUES(45, 64, 3.00, 350)INSERT guia_detalle VALUES(45, 65, 0.75, 1000)INSERT guia_detalle VALUES(45, 66, 0.75, 1000)INSERT guia_detalle VALUES(45, 68, 2.10, 200)INSERT guia_detalle VALUES(45, 74, 1.65, 200)-- FIN LIMPIEZA PERSONAL DIA 2

-- LACTEOS DIA 2

Prof. Angel Roque 56

Page 57: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia VALUES(46, 1, getdate() - 29, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(46, 92, 3.00, 25)INSERT guia_detalle VALUES(46, 93, 3.15, 25)INSERT guia_detalle VALUES(46, 95, 3.00, 50)INSERT guia_detalle VALUES(46, 97, 3.00, 50)INSERT guia_detalle VALUES(46, 100, 3.00, 25)INSERT guia_detalle VALUES(46, 101, 0.75, 100)INSERT guia_detalle VALUES(46, 103, 0.75, 100)INSERT guia_detalle VALUES(46, 105, 0.75, 100)INSERT guia_detalle VALUES(46, 106, 0.75, 100)INSERT guia_detalle VALUES(46, 107, 7.50, 25)INSERT guia_detalle VALUES(46, 108, 9.00, 25)

INSERT guia VALUES(47, 2, getdate() - 24, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(47, 92, 3.00, 25)INSERT guia_detalle VALUES(47, 93, 3.15, 25)INSERT guia_detalle VALUES(47, 95, 3.00, 50)INSERT guia_detalle VALUES(47, 97, 3.00, 50)INSERT guia_detalle VALUES(47, 100, 3.00, 25)INSERT guia_detalle VALUES(47, 101, 0.75, 100)INSERT guia_detalle VALUES(47, 103, 0.75, 100)INSERT guia_detalle VALUES(47, 105, 0.75, 100)INSERT guia_detalle VALUES(47, 106, 0.75, 100)INSERT guia_detalle VALUES(47, 107, 7.50, 25)INSERT guia_detalle VALUES(47, 108, 9.00, 25)

INSERT guia VALUES(48, 3, getdate() - 19, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(48, 92, 3.00, 25)INSERT guia_detalle VALUES(48, 93, 3.15, 25)INSERT guia_detalle VALUES(48, 95, 3.00, 50)INSERT guia_detalle VALUES(48, 97, 3.00, 50)INSERT guia_detalle VALUES(48, 100, 3.00, 25)INSERT guia_detalle VALUES(48, 101, 0.75, 100)INSERT guia_detalle VALUES(48, 103, 0.75, 100)INSERT guia_detalle VALUES(48, 105, 0.75, 100)INSERT guia_detalle VALUES(48, 106, 0.75, 100)INSERT guia_detalle VALUES(48, 107, 7.50, 25)INSERT guia_detalle VALUES(48, 108, 9.00, 25)

INSERT guia VALUES(49, 4, getdate() - 14, 'ALIAGA VIDAL, JEREMIAS')

Prof. Angel Roque 57

Page 58: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(49, 92, 3.00, 25)INSERT guia_detalle VALUES(49, 93, 3.15, 25)INSERT guia_detalle VALUES(49, 95, 3.00, 50)INSERT guia_detalle VALUES(49, 97, 3.00, 50)INSERT guia_detalle VALUES(49, 100, 3.00, 25)INSERT guia_detalle VALUES(49, 101, 0.75, 100)INSERT guia_detalle VALUES(49, 103, 0.75, 100)INSERT guia_detalle VALUES(49, 105, 0.75, 100)INSERT guia_detalle VALUES(49, 106, 0.75, 100)INSERT guia_detalle VALUES(49, 107, 7.50, 25)INSERT guia_detalle VALUES(49, 108, 9.00, 25)

INSERT guia VALUES(50, 5, getdate() - 9, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(50, 92, 3.00, 25)INSERT guia_detalle VALUES(50, 93, 3.15, 25)INSERT guia_detalle VALUES(50, 95, 3.00, 50)INSERT guia_detalle VALUES(50, 97, 3.00, 50)INSERT guia_detalle VALUES(50, 100, 3.00, 25)INSERT guia_detalle VALUES(50, 101, 0.75, 100)INSERT guia_detalle VALUES(50, 103, 0.75, 100)INSERT guia_detalle VALUES(50, 105, 0.75, 100)INSERT guia_detalle VALUES(50, 106, 0.75, 100)INSERT guia_detalle VALUES(50, 107, 7.50, 25)INSERT guia_detalle VALUES(50, 108, 9.00, 25)-- FIN LACTEOS DIA 2

-- LICORES Y BEBIDAS DIA 2INSERT guia VALUES(51, 1, getdate() - 29, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(51, 109, 3.85, 100)INSERT guia_detalle VALUES(51, 110, 3.85, 100)INSERT guia_detalle VALUES(51, 111, 2.05, 100)INSERT guia_detalle VALUES(51, 112, 2.05, 100)INSERT guia_detalle VALUES(51, 113, 4.20, 100)INSERT guia_detalle VALUES(51, 114, 2.05, 100)INSERT guia_detalle VALUES(51, 115, 3.60, 100)INSERT guia_detalle VALUES(51, 116, 3.60, 100)INSERT guia_detalle VALUES(51, 117, 3.10, 100)INSERT guia_detalle VALUES(51, 118, 3.35, 100)INSERT guia_detalle VALUES(51, 119, 18.85, 5)

Prof. Angel Roque 58

Page 59: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia VALUES(52, 2, getdate() - 24, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(52, 109, 3.85, 100)INSERT guia_detalle VALUES(52, 110, 3.85, 100)INSERT guia_detalle VALUES(52, 111, 2.05, 100)INSERT guia_detalle VALUES(52, 112, 2.05, 100)INSERT guia_detalle VALUES(52, 113, 4.20, 100)INSERT guia_detalle VALUES(52, 114, 2.05, 100)INSERT guia_detalle VALUES(52, 115, 3.60, 100)INSERT guia_detalle VALUES(52, 116, 3.60, 100)INSERT guia_detalle VALUES(52, 117, 3.10, 100)INSERT guia_detalle VALUES(52, 118, 3.35, 100)INSERT guia_detalle VALUES(52, 119, 18.85, 5)

INSERT guia VALUES(53, 3, getdate() - 19, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(53, 109, 3.85, 100)INSERT guia_detalle VALUES(53, 110, 3.85, 100)INSERT guia_detalle VALUES(53, 111, 2.05, 100)INSERT guia_detalle VALUES(53, 112, 2.05, 100)INSERT guia_detalle VALUES(53, 113, 4.20, 100)INSERT guia_detalle VALUES(53, 114, 2.05, 100)INSERT guia_detalle VALUES(53, 115, 3.60, 100)INSERT guia_detalle VALUES(53, 116, 3.60, 100)INSERT guia_detalle VALUES(53, 117, 3.10, 100)INSERT guia_detalle VALUES(53, 118, 3.35, 100)INSERT guia_detalle VALUES(53, 119, 18.85, 5)

INSERT guia VALUES(54, 4, getdate() - 14, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(54, 109, 3.85, 100)INSERT guia_detalle VALUES(54, 110, 3.85, 100)INSERT guia_detalle VALUES(54, 111, 2.05, 100)INSERT guia_detalle VALUES(54, 112, 2.05, 100)INSERT guia_detalle VALUES(54, 113, 4.20, 100)INSERT guia_detalle VALUES(54, 114, 2.05, 100)INSERT guia_detalle VALUES(54, 115, 3.60, 100)INSERT guia_detalle VALUES(54, 116, 3.60, 100)INSERT guia_detalle VALUES(54, 117, 3.10, 100)INSERT guia_detalle VALUES(54, 118, 3.35, 100)INSERT guia_detalle VALUES(54, 119, 18.85, 5)

INSERT guia VALUES(55, 5, getdate() - 9, 'ALIAGA VIDAL, JEREMIAS')

Prof. Angel Roque 59

Page 60: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(55, 109, 3.85, 100)INSERT guia_detalle VALUES(55, 110, 3.85, 100)INSERT guia_detalle VALUES(55, 111, 2.05, 100)INSERT guia_detalle VALUES(55, 112, 2.05, 100)INSERT guia_detalle VALUES(55, 113, 4.20, 100)INSERT guia_detalle VALUES(55, 114, 2.05, 100)INSERT guia_detalle VALUES(55, 115, 3.60, 100)INSERT guia_detalle VALUES(55, 116, 3.60, 100)INSERT guia_detalle VALUES(55, 117, 3.10, 100)INSERT guia_detalle VALUES(55, 118, 3.35, 100)INSERT guia_detalle VALUES(55, 119, 18.85, 5)-- FIN LICORES Y BEBIDAS DIA 2

-- LIMPIEZA DIA 2INSERT guia VALUES(56, 1, getdate() - 29, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(56, 124, 3.00, 500)INSERT guia_detalle VALUES(56, 125, 3.00, 500)INSERT guia_detalle VALUES(56, 126, 2.25, 500)INSERT guia_detalle VALUES(56, 127, 2.70, 500)INSERT guia_detalle VALUES(56, 129, 5.64, 250)INSERT guia_detalle VALUES(56, 130, 1.80, 1000)INSERT guia_detalle VALUES(56, 132, 2.10, 500)INSERT guia_detalle VALUES(56, 133, 17.65, 10)INSERT guia_detalle VALUES(56, 134, 17.40, 10)INSERT guia_detalle VALUES(56, 135, 17.40, 10)INSERT guia_detalle VALUES(56, 136, 25.55, 10)

INSERT guia VALUES(57, 2, getdate() - 24, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(57, 124, 3.00, 500)INSERT guia_detalle VALUES(57, 125, 3.00, 500)INSERT guia_detalle VALUES(57, 126, 2.25, 500)INSERT guia_detalle VALUES(57, 127, 2.70, 500)INSERT guia_detalle VALUES(57, 129, 5.64, 250)INSERT guia_detalle VALUES(57, 130, 1.80, 1000)INSERT guia_detalle VALUES(57, 132, 2.10, 500)INSERT guia_detalle VALUES(57, 133, 17.65, 10)INSERT guia_detalle VALUES(57, 134, 17.40, 10)INSERT guia_detalle VALUES(57, 135, 17.40, 10)INSERT guia_detalle VALUES(57, 136, 25.55, 10)

Prof. Angel Roque 60

Page 61: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia VALUES(58, 3, getdate() - 19, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(58, 124, 3.00, 500)INSERT guia_detalle VALUES(58, 125, 3.00, 500)INSERT guia_detalle VALUES(58, 126, 2.25, 500)INSERT guia_detalle VALUES(58, 127, 2.70, 500)INSERT guia_detalle VALUES(58, 129, 5.64, 250)INSERT guia_detalle VALUES(58, 130, 1.80, 1000)INSERT guia_detalle VALUES(58, 132, 2.10, 500)INSERT guia_detalle VALUES(58, 133, 17.65, 10)INSERT guia_detalle VALUES(58, 134, 17.40, 10)INSERT guia_detalle VALUES(58, 135, 17.40, 10)INSERT guia_detalle VALUES(58, 136, 25.55, 10)

INSERT guia VALUES(59, 4, getdate() - 14, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(59, 124, 3.00, 500)INSERT guia_detalle VALUES(59, 125, 3.00, 500)INSERT guia_detalle VALUES(59, 126, 2.25, 500)INSERT guia_detalle VALUES(59, 127, 2.70, 500)INSERT guia_detalle VALUES(59, 129, 5.64, 250)INSERT guia_detalle VALUES(59, 130, 1.80, 1000)INSERT guia_detalle VALUES(59, 132, 2.10, 500)INSERT guia_detalle VALUES(59, 133, 17.65, 10)INSERT guia_detalle VALUES(59, 134, 17.40, 10)INSERT guia_detalle VALUES(59, 135, 17.40, 10)INSERT guia_detalle VALUES(59, 136, 25.55, 10)

INSERT guia VALUES(60, 5, getdate() - 9, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(60, 124, 3.00, 500)INSERT guia_detalle VALUES(60, 125, 3.00, 500)INSERT guia_detalle VALUES(60, 126, 2.25, 500)INSERT guia_detalle VALUES(60, 127, 2.70, 500)INSERT guia_detalle VALUES(60, 129, 5.64, 250)INSERT guia_detalle VALUES(60, 130, 1.80, 1000)INSERT guia_detalle VALUES(60, 132, 2.10, 500)INSERT guia_detalle VALUES(60, 133, 17.65, 10)INSERT guia_detalle VALUES(60, 134, 17.40, 10)INSERT guia_detalle VALUES(60, 135, 17.40, 10)INSERT guia_detalle VALUES(60, 136, 25.55, 10)-- FIN LIMPIEZA DIA 2

Prof. Angel Roque 61

Page 62: Manual Transact

LENGUAJE DE PROGRAMACION IV-- GOLOSINAS DIA 3INSERT guia VALUES(61, 1, getdate() - 28, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(61, 1, 2.25, 20)INSERT guia_detalle VALUES(61, 2, 1.50, 20)INSERT guia_detalle VALUES(61, 3, 2.25, 20)INSERT guia_detalle VALUES(61, 4, 1.95, 20)INSERT guia_detalle VALUES(61, 6, 2.70, 30)INSERT guia_detalle VALUES(61, 7, 3.30, 25)INSERT guia_detalle VALUES(61, 8, 2.40, 25)INSERT guia_detalle VALUES(61, 9, 3.15, 20)INSERT guia_detalle VALUES(61, 10, 1.05, 20)INSERT guia_detalle VALUES(61, 11, 0.60, 50)INSERT guia_detalle VALUES(61, 12, 2.25, 50)

INSERT guia VALUES(62, 2, getdate() - 23, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(62, 1, 2.25, 20)INSERT guia_detalle VALUES(62, 2, 1.50, 20)INSERT guia_detalle VALUES(62, 3, 2.25, 20)INSERT guia_detalle VALUES(62, 4, 1.95, 20)INSERT guia_detalle VALUES(62, 6, 2.70, 30)INSERT guia_detalle VALUES(62, 7, 3.30, 25)INSERT guia_detalle VALUES(62, 8, 2.40, 25)INSERT guia_detalle VALUES(62, 9, 3.15, 20)INSERT guia_detalle VALUES(62, 10, 1.05, 20)INSERT guia_detalle VALUES(62, 11, 0.60, 50)INSERT guia_detalle VALUES(62, 12, 2.25, 50)

INSERT guia VALUES(63, 3, getdate() - 18, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(63, 1, 2.25, 20)INSERT guia_detalle VALUES(63, 2, 1.50, 20)INSERT guia_detalle VALUES(63, 3, 2.25, 20)INSERT guia_detalle VALUES(63, 4, 1.95, 20)INSERT guia_detalle VALUES(63, 6, 2.70, 30)INSERT guia_detalle VALUES(63, 7, 3.30, 25)INSERT guia_detalle VALUES(63, 8, 2.40, 25)INSERT guia_detalle VALUES(63, 9, 3.15, 20)INSERT guia_detalle VALUES(63, 10, 1.05, 20)INSERT guia_detalle VALUES(63, 11, 0.60, 50)INSERT guia_detalle VALUES(63, 12, 2.25, 50)

Prof. Angel Roque 62

Page 63: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia VALUES(64, 4, getdate() - 13, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(64, 1, 2.25, 20)INSERT guia_detalle VALUES(64, 2, 1.50, 20)INSERT guia_detalle VALUES(64, 3, 2.25, 20)INSERT guia_detalle VALUES(64, 4, 1.95, 20)INSERT guia_detalle VALUES(64, 6, 2.70, 30)INSERT guia_detalle VALUES(64, 7, 3.30, 25)INSERT guia_detalle VALUES(64, 8, 2.40, 25)INSERT guia_detalle VALUES(64, 9, 3.15, 20)INSERT guia_detalle VALUES(64, 10, 1.05, 20)INSERT guia_detalle VALUES(64, 11, 0.60, 50)INSERT guia_detalle VALUES(64, 12, 2.25, 50)

INSERT guia VALUES(65, 5, getdate() - 8, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(65, 1, 2.25, 20)INSERT guia_detalle VALUES(65, 2, 1.50, 20)INSERT guia_detalle VALUES(65, 3, 2.25, 20)INSERT guia_detalle VALUES(65, 4, 1.95, 20)INSERT guia_detalle VALUES(65, 6, 2.70, 30)INSERT guia_detalle VALUES(65, 7, 3.30, 25)INSERT guia_detalle VALUES(65, 8, 2.40, 25)INSERT guia_detalle VALUES(65, 9, 3.15, 20)INSERT guia_detalle VALUES(65, 10, 1.05, 20)INSERT guia_detalle VALUES(65, 11, 0.60, 50)INSERT guia_detalle VALUES(65, 12, 2.25, 50)-- FIN GOLOSINAS DIA 3

-- EMBUTIDOS DIA 3INSERT guia VALUES(66, 1, getdate() - 28, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(66, 26, 18.75, 15)INSERT guia_detalle VALUES(66, 27, 18.75, 15)INSERT guia_detalle VALUES(66, 28, 18.75, 15)INSERT guia_detalle VALUES(66, 29, 15.00, 20)INSERT guia_detalle VALUES(66, 30, 25.50, 20)INSERT guia_detalle VALUES(66, 37, 8.25, 25)INSERT guia_detalle VALUES(66, 38, 10.20, 20)INSERT guia_detalle VALUES(66, 39, 11.25, 25)INSERT guia_detalle VALUES(66, 42, 15.75, 15)INSERT guia_detalle VALUES(66, 43, 14.25, 20)INSERT guia_detalle VALUES(66, 44, 17.25, 10)

Prof. Angel Roque 63

Page 64: Manual Transact

LENGUAJE DE PROGRAMACION IV

INSERT guia VALUES(67, 2, getdate() - 23, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(67, 26, 18.75, 15)INSERT guia_detalle VALUES(67, 27, 18.75, 15)INSERT guia_detalle VALUES(67, 28, 18.75, 15)INSERT guia_detalle VALUES(67, 29, 15.00, 20)INSERT guia_detalle VALUES(67, 30, 25.50, 20)INSERT guia_detalle VALUES(67, 37, 8.25, 25)INSERT guia_detalle VALUES(67, 38, 10.20, 20)INSERT guia_detalle VALUES(67, 39, 11.25, 25)INSERT guia_detalle VALUES(67, 42, 15.75, 15)INSERT guia_detalle VALUES(67, 43, 14.25, 20)INSERT guia_detalle VALUES(67, 44, 17.25, 10)

INSERT guia VALUES(68, 3, getdate() - 18, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(68, 26, 18.75, 15)INSERT guia_detalle VALUES(68, 27, 18.75, 15)INSERT guia_detalle VALUES(68, 28, 18.75, 15)INSERT guia_detalle VALUES(68, 29, 15.00, 20)INSERT guia_detalle VALUES(68, 30, 25.50, 20)INSERT guia_detalle VALUES(68, 37, 8.25, 25)INSERT guia_detalle VALUES(68, 38, 10.20, 20)INSERT guia_detalle VALUES(68, 39, 11.25, 25)INSERT guia_detalle VALUES(68, 42, 15.75, 15)INSERT guia_detalle VALUES(68, 43, 14.25, 20)INSERT guia_detalle VALUES(68, 44, 17.25, 10)

INSERT guia VALUES(69, 4, getdate() - 13, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(69, 26, 18.75, 15)INSERT guia_detalle VALUES(69, 27, 18.75, 15)INSERT guia_detalle VALUES(69, 28, 18.75, 15)INSERT guia_detalle VALUES(69, 29, 15.00, 20)INSERT guia_detalle VALUES(69, 30, 25.50, 20)INSERT guia_detalle VALUES(69, 37, 8.25, 25)INSERT guia_detalle VALUES(69, 38, 10.20, 20)INSERT guia_detalle VALUES(69, 39, 11.25, 25)INSERT guia_detalle VALUES(69, 42, 15.75, 15)INSERT guia_detalle VALUES(69, 43, 14.25, 20)INSERT guia_detalle VALUES(69, 44, 17.25, 10)

Prof. Angel Roque 64

Page 65: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia VALUES(70, 5, getdate() - 8, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(70, 26, 18.75, 15)INSERT guia_detalle VALUES(70, 27, 18.75, 15)INSERT guia_detalle VALUES(70, 28, 18.75, 15)INSERT guia_detalle VALUES(70, 29, 15.00, 20)INSERT guia_detalle VALUES(70, 30, 25.50, 20)INSERT guia_detalle VALUES(70, 37, 8.25, 25)INSERT guia_detalle VALUES(70, 38, 10.20, 20)INSERT guia_detalle VALUES(70, 39, 11.25, 25)INSERT guia_detalle VALUES(70, 42, 15.75, 15)INSERT guia_detalle VALUES(70, 43, 14.25, 20)INSERT guia_detalle VALUES(70, 44, 17.25, 10)-- FIN EMBUTIDOS DIA 3

-- LIMPIEZA PERSONAL DIA 3INSERT guia VALUES(71, 1, getdate() - 28, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(71, 51, 5.85, 10)INSERT guia_detalle VALUES(71, 54, 11.95, 10)INSERT guia_detalle VALUES(71, 53, 11.95, 10)INSERT guia_detalle VALUES(71, 58, 18.00, 10)INSERT guia_detalle VALUES(71, 59, 2.05, 20)INSERT guia_detalle VALUES(71, 63, 1.95, 25)INSERT guia_detalle VALUES(71, 64, 3.00, 350)INSERT guia_detalle VALUES(71, 65, 0.75, 1000)INSERT guia_detalle VALUES(71, 66, 0.75, 1000)INSERT guia_detalle VALUES(71, 68, 2.10, 200)INSERT guia_detalle VALUES(71, 74, 1.65, 200)

INSERT guia VALUES(72, 2, getdate() - 23, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(72, 51, 5.85, 10)INSERT guia_detalle VALUES(72, 54, 11.95, 10)INSERT guia_detalle VALUES(72, 53, 11.95, 10)INSERT guia_detalle VALUES(72, 58, 18.00, 10)INSERT guia_detalle VALUES(72, 59, 2.05, 20)INSERT guia_detalle VALUES(72, 63, 1.95, 25)INSERT guia_detalle VALUES(72, 64, 3.00, 350)INSERT guia_detalle VALUES(72, 65, 0.75, 1000)INSERT guia_detalle VALUES(72, 66, 0.75, 1000)INSERT guia_detalle VALUES(72, 68, 2.10, 200)INSERT guia_detalle VALUES(72, 74, 1.65, 200)

Prof. Angel Roque 65

Page 66: Manual Transact

LENGUAJE DE PROGRAMACION IV

INSERT guia VALUES(73, 3, getdate() - 18, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(73, 51, 5.85, 10)INSERT guia_detalle VALUES(73, 54, 11.95, 10)INSERT guia_detalle VALUES(73, 53, 11.95, 10)INSERT guia_detalle VALUES(73, 58, 18.00, 10)INSERT guia_detalle VALUES(73, 59, 2.05, 20)INSERT guia_detalle VALUES(73, 63, 1.95, 25)INSERT guia_detalle VALUES(73, 64, 3.00, 350)INSERT guia_detalle VALUES(73, 65, 0.75, 1000)INSERT guia_detalle VALUES(73, 66, 0.75, 1000)INSERT guia_detalle VALUES(73, 68, 2.10, 200)INSERT guia_detalle VALUES(73, 74, 1.65, 200)

INSERT guia VALUES(74, 4, getdate() - 13, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(74, 51, 5.85, 10)INSERT guia_detalle VALUES(74, 54, 11.95, 10)INSERT guia_detalle VALUES(74, 53, 11.95, 10)INSERT guia_detalle VALUES(74, 58, 18.00, 10)INSERT guia_detalle VALUES(74, 59, 2.05, 20)INSERT guia_detalle VALUES(74, 63, 1.95, 25)INSERT guia_detalle VALUES(74, 64, 3.00, 350)INSERT guia_detalle VALUES(74, 65, 0.75, 1000)INSERT guia_detalle VALUES(74, 66, 0.75, 1000)INSERT guia_detalle VALUES(74, 68, 2.10, 200)INSERT guia_detalle VALUES(74, 74, 1.65, 200)

INSERT guia VALUES(75, 5, getdate() - 8, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(75, 51, 5.85, 10)INSERT guia_detalle VALUES(75, 54, 11.95, 10)INSERT guia_detalle VALUES(75, 53, 11.95, 10)INSERT guia_detalle VALUES(75, 58, 18.00, 10)INSERT guia_detalle VALUES(75, 59, 2.05, 20)INSERT guia_detalle VALUES(75, 63, 1.95, 25)INSERT guia_detalle VALUES(75, 64, 3.00, 350)INSERT guia_detalle VALUES(75, 65, 0.75, 1000)INSERT guia_detalle VALUES(75, 66, 0.75, 1000)INSERT guia_detalle VALUES(75, 68, 2.10, 200)INSERT guia_detalle VALUES(75, 74, 1.65, 200)-- FIN LIMPIEZA PERSONAL DIA 3

Prof. Angel Roque 66

Page 67: Manual Transact

LENGUAJE DE PROGRAMACION IV

-- LACTEOS DIA 3INSERT guia VALUES(76, 1, getdate() - 28, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(76, 92, 3.00, 25)INSERT guia_detalle VALUES(76, 93, 3.15, 25)INSERT guia_detalle VALUES(76, 95, 3.00, 50)INSERT guia_detalle VALUES(76, 97, 3.00, 50)INSERT guia_detalle VALUES(76, 100, 3.00, 25)INSERT guia_detalle VALUES(76, 101, 0.75, 100)INSERT guia_detalle VALUES(76, 103, 0.75, 100)INSERT guia_detalle VALUES(76, 105, 0.75, 100)INSERT guia_detalle VALUES(76, 106, 0.75, 100)INSERT guia_detalle VALUES(76, 107, 7.50, 25)INSERT guia_detalle VALUES(76, 108, 9.00, 25)

INSERT guia VALUES(77, 2, getdate() - 23, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(77, 92, 3.00, 25)INSERT guia_detalle VALUES(77, 93, 3.15, 25)INSERT guia_detalle VALUES(77, 95, 3.00, 50)INSERT guia_detalle VALUES(77, 97, 3.00, 50)INSERT guia_detalle VALUES(77, 100, 3.00, 25)INSERT guia_detalle VALUES(77, 101, 0.75, 100)INSERT guia_detalle VALUES(77, 103, 0.75, 100)INSERT guia_detalle VALUES(77, 105, 0.75, 100)INSERT guia_detalle VALUES(77, 106, 0.75, 100)INSERT guia_detalle VALUES(77, 107, 7.50, 25)INSERT guia_detalle VALUES(77, 108, 9.00, 25)

INSERT guia VALUES(78, 3, getdate() - 18, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(78, 92, 3.00, 25)INSERT guia_detalle VALUES(78, 93, 3.15, 25)INSERT guia_detalle VALUES(78, 95, 3.00, 50)INSERT guia_detalle VALUES(78, 97, 3.00, 50)INSERT guia_detalle VALUES(78, 100, 3.00, 25)INSERT guia_detalle VALUES(78, 101, 0.75, 100)INSERT guia_detalle VALUES(78, 103, 0.75, 100)INSERT guia_detalle VALUES(78, 105, 0.75, 100)INSERT guia_detalle VALUES(78, 106, 0.75, 100)INSERT guia_detalle VALUES(78, 107, 7.50, 25)INSERT guia_detalle VALUES(78, 108, 9.00, 25)

Prof. Angel Roque 67

Page 68: Manual Transact

LENGUAJE DE PROGRAMACION IV

INSERT guia VALUES(79, 4, getdate() - 13, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(79, 92, 3.00, 25)INSERT guia_detalle VALUES(79, 93, 3.15, 25)INSERT guia_detalle VALUES(79, 95, 3.00, 50)INSERT guia_detalle VALUES(79, 97, 3.00, 50)INSERT guia_detalle VALUES(79, 100, 3.00, 25)INSERT guia_detalle VALUES(79, 101, 0.75, 100)INSERT guia_detalle VALUES(79, 103, 0.75, 100)INSERT guia_detalle VALUES(79, 105, 0.75, 100)INSERT guia_detalle VALUES(79, 106, 0.75, 100)INSERT guia_detalle VALUES(79, 107, 7.50, 25)INSERT guia_detalle VALUES(79, 108, 9.00, 25)

INSERT guia VALUES(80, 5, getdate() - 8, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(80, 92, 3.00, 25)INSERT guia_detalle VALUES(80, 93, 3.15, 25)INSERT guia_detalle VALUES(80, 95, 3.00, 50)INSERT guia_detalle VALUES(80, 97, 3.00, 50)INSERT guia_detalle VALUES(80, 100, 3.00, 25)INSERT guia_detalle VALUES(80, 101, 0.75, 100)INSERT guia_detalle VALUES(80, 103, 0.75, 100)INSERT guia_detalle VALUES(80, 105, 0.75, 100)INSERT guia_detalle VALUES(80, 106, 0.75, 100)INSERT guia_detalle VALUES(80, 107, 7.50, 25)INSERT guia_detalle VALUES(80, 108, 9.00, 25)-- FIN LACTEOS DIA 3

-- LICORES Y BEBIDAS DIA 3INSERT guia VALUES(81, 1, getdate() - 28, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(81, 109, 3.85, 100)INSERT guia_detalle VALUES(81, 110, 3.85, 100)INSERT guia_detalle VALUES(81, 111, 2.05, 100)INSERT guia_detalle VALUES(81, 112, 2.05, 100)INSERT guia_detalle VALUES(81, 113, 4.20, 100)INSERT guia_detalle VALUES(81, 114, 2.05, 100)INSERT guia_detalle VALUES(81, 115, 3.60, 100)INSERT guia_detalle VALUES(81, 116, 3.60, 100)INSERT guia_detalle VALUES(81, 117, 3.10, 100)INSERT guia_detalle VALUES(81, 118, 3.35, 100)

Prof. Angel Roque 68

Page 69: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(81, 119, 18.85, 5)

INSERT guia VALUES(82, 2, getdate() - 23, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(82, 109, 3.85, 100)INSERT guia_detalle VALUES(82, 110, 3.85, 100)INSERT guia_detalle VALUES(82, 111, 2.05, 100)INSERT guia_detalle VALUES(82, 112, 2.05, 100)INSERT guia_detalle VALUES(82, 113, 4.20, 100)INSERT guia_detalle VALUES(82, 114, 2.05, 100)INSERT guia_detalle VALUES(82, 115, 3.60, 100)INSERT guia_detalle VALUES(82, 116, 3.60, 100)INSERT guia_detalle VALUES(82, 117, 3.10, 100)INSERT guia_detalle VALUES(82, 118, 3.35, 100)INSERT guia_detalle VALUES(82, 119, 18.85, 5)

INSERT guia VALUES(83, 3, getdate() - 18, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(83, 109, 3.85, 100)INSERT guia_detalle VALUES(83, 110, 3.85, 100)INSERT guia_detalle VALUES(83, 111, 2.05, 100)INSERT guia_detalle VALUES(83, 112, 2.05, 100)INSERT guia_detalle VALUES(83, 113, 4.20, 100)INSERT guia_detalle VALUES(83, 114, 2.05, 100)INSERT guia_detalle VALUES(83, 115, 3.60, 100)INSERT guia_detalle VALUES(83, 116, 3.60, 100)INSERT guia_detalle VALUES(83, 117, 3.10, 100)INSERT guia_detalle VALUES(83, 118, 3.35, 100)INSERT guia_detalle VALUES(83, 119, 18.85, 5)

INSERT guia VALUES(84, 4, getdate() - 13, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(84, 109, 3.85, 100)INSERT guia_detalle VALUES(84, 110, 3.85, 100)INSERT guia_detalle VALUES(84, 111, 2.05, 100)INSERT guia_detalle VALUES(84, 112, 2.05, 100)INSERT guia_detalle VALUES(84, 113, 4.20, 100)INSERT guia_detalle VALUES(84, 114, 2.05, 100)INSERT guia_detalle VALUES(84, 115, 3.60, 100)INSERT guia_detalle VALUES(84, 116, 3.60, 100)INSERT guia_detalle VALUES(84, 117, 3.10, 100)INSERT guia_detalle VALUES(84, 118, 3.35, 100)INSERT guia_detalle VALUES(84, 119, 18.85, 5)

Prof. Angel Roque 69

Page 70: Manual Transact

LENGUAJE DE PROGRAMACION IV

INSERT guia VALUES(85, 5, getdate() - 8, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(85, 109, 3.85, 100)INSERT guia_detalle VALUES(85, 110, 3.85, 100)INSERT guia_detalle VALUES(85, 111, 2.05, 100)INSERT guia_detalle VALUES(85, 112, 2.05, 100)INSERT guia_detalle VALUES(85, 113, 4.20, 100)INSERT guia_detalle VALUES(85, 114, 2.05, 100)INSERT guia_detalle VALUES(85, 115, 3.60, 100)INSERT guia_detalle VALUES(85, 116, 3.60, 100)INSERT guia_detalle VALUES(85, 117, 3.10, 100)INSERT guia_detalle VALUES(85, 118, 3.35, 100)INSERT guia_detalle VALUES(85, 119, 18.85, 5)-- FIN LICORES Y BEBIDAS DIA 3

-- LIMPIEZA DIA 3INSERT guia VALUES(86, 1, getdate() - 28, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(86, 124, 3.00, 500)INSERT guia_detalle VALUES(86, 125, 3.00, 500)INSERT guia_detalle VALUES(86, 126, 2.25, 500)INSERT guia_detalle VALUES(86, 127, 2.70, 500)INSERT guia_detalle VALUES(86, 129, 5.64, 250)INSERT guia_detalle VALUES(86, 130, 1.80, 1000)INSERT guia_detalle VALUES(86, 132, 2.10, 500)INSERT guia_detalle VALUES(86, 133, 17.65, 10)INSERT guia_detalle VALUES(86, 134, 17.40, 10)INSERT guia_detalle VALUES(86, 135, 17.40, 10)INSERT guia_detalle VALUES(86, 136, 25.55, 10)

INSERT guia VALUES(87, 2, getdate() - 23, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(87, 124, 3.00, 500)INSERT guia_detalle VALUES(87, 125, 3.00, 500)INSERT guia_detalle VALUES(87, 126, 2.25, 500)INSERT guia_detalle VALUES(87, 127, 2.70, 500)INSERT guia_detalle VALUES(87, 129, 5.64, 250)INSERT guia_detalle VALUES(87, 130, 1.80, 1000)INSERT guia_detalle VALUES(87, 132, 2.10, 500)INSERT guia_detalle VALUES(87, 133, 17.65, 10)INSERT guia_detalle VALUES(87, 134, 17.40, 10)INSERT guia_detalle VALUES(87, 135, 17.40, 10)

Prof. Angel Roque 70

Page 71: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(87, 136, 25.55, 10)

INSERT guia VALUES(88, 3, getdate() - 18, 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(88, 124, 3.00, 500)INSERT guia_detalle VALUES(88, 125, 3.00, 500)INSERT guia_detalle VALUES(88, 126, 2.25, 500)INSERT guia_detalle VALUES(88, 127, 2.70, 500)INSERT guia_detalle VALUES(88, 129, 5.64, 250)INSERT guia_detalle VALUES(88, 130, 1.80, 1000)INSERT guia_detalle VALUES(88, 132, 2.10, 500)INSERT guia_detalle VALUES(88, 133, 17.65, 10)INSERT guia_detalle VALUES(88, 134, 17.40, 10)INSERT guia_detalle VALUES(88, 135, 17.40, 10)INSERT guia_detalle VALUES(88, 136, 25.55, 10)

INSERT guia VALUES(89, 4, getdate() - 13, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(89, 124, 3.00, 500)INSERT guia_detalle VALUES(89, 125, 3.00, 500)INSERT guia_detalle VALUES(89, 126, 2.25, 500)INSERT guia_detalle VALUES(89, 127, 2.70, 500)INSERT guia_detalle VALUES(89, 129, 5.64, 250)INSERT guia_detalle VALUES(89, 130, 1.80, 1000)INSERT guia_detalle VALUES(89, 132, 2.10, 500)INSERT guia_detalle VALUES(89, 133, 17.65, 10)INSERT guia_detalle VALUES(89, 134, 17.40, 10)INSERT guia_detalle VALUES(89, 135, 17.40, 10)INSERT guia_detalle VALUES(89, 136, 25.55, 10)

INSERT guia VALUES(90, 5, getdate() - 8, 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(90, 124, 3.00, 500)INSERT guia_detalle VALUES(90, 125, 3.00, 500)INSERT guia_detalle VALUES(90, 126, 2.25, 500)INSERT guia_detalle VALUES(90, 127, 2.70, 500)INSERT guia_detalle VALUES(90, 129, 5.64, 250)INSERT guia_detalle VALUES(90, 130, 1.80, 1000)INSERT guia_detalle VALUES(90, 132, 2.10, 500)INSERT guia_detalle VALUES(90, 133, 17.65, 10)INSERT guia_detalle VALUES(90, 134, 17.40, 10)INSERT guia_detalle VALUES(90, 135, 17.40, 10)INSERT guia_detalle VALUES(90, 136, 25.55, 10)

Prof. Angel Roque 71

Page 72: Manual Transact

LENGUAJE DE PROGRAMACION IV-- FIN LIMPIEZA DIA 3

-- GOLOSINAS DIA 4INSERT guia VALUES(91, 1, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(91, 1, 2.25, 20)INSERT guia_detalle VALUES(91, 2, 1.50, 20)INSERT guia_detalle VALUES(91, 3, 2.25, 20)INSERT guia_detalle VALUES(91, 4, 1.95, 20)INSERT guia_detalle VALUES(91, 6, 2.70, 30)INSERT guia_detalle VALUES(91, 7, 3.30, 25)INSERT guia_detalle VALUES(91, 8, 2.40, 25)INSERT guia_detalle VALUES(91, 9, 3.15, 20)INSERT guia_detalle VALUES(91, 10, 1.05, 20)INSERT guia_detalle VALUES(91, 11, 0.60, 50)INSERT guia_detalle VALUES(91, 12, 2.25, 50)

INSERT guia VALUES(92, 2, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(92, 1, 2.25, 20)INSERT guia_detalle VALUES(92, 2, 1.50, 20)INSERT guia_detalle VALUES(92, 3, 2.25, 20)INSERT guia_detalle VALUES(92, 4, 1.95, 20)INSERT guia_detalle VALUES(92, 6, 2.70, 30)INSERT guia_detalle VALUES(92, 7, 3.30, 25)INSERT guia_detalle VALUES(92, 8, 2.40, 25)INSERT guia_detalle VALUES(92, 9, 3.15, 20)INSERT guia_detalle VALUES(92, 10, 1.05, 20)INSERT guia_detalle VALUES(92, 11, 0.60, 50)INSERT guia_detalle VALUES(92, 12, 2.25, 50)

INSERT guia VALUES(93, 3, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(93, 1, 2.25, 20)INSERT guia_detalle VALUES(93, 2, 1.50, 20)INSERT guia_detalle VALUES(93, 3, 2.25, 20)INSERT guia_detalle VALUES(93, 4, 1.95, 20)INSERT guia_detalle VALUES(93, 6, 2.70, 30)INSERT guia_detalle VALUES(93, 7, 3.30, 25)INSERT guia_detalle VALUES(93, 8, 2.40, 25)INSERT guia_detalle VALUES(93, 9, 3.15, 20)INSERT guia_detalle VALUES(93, 10, 1.05, 20)INSERT guia_detalle VALUES(93, 11, 0.60, 50)

Prof. Angel Roque 72

Page 73: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(93, 12, 2.25, 50)

INSERT guia VALUES(94, 4, getdate(), 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(94, 1, 2.25, 20)INSERT guia_detalle VALUES(94, 2, 1.50, 20)INSERT guia_detalle VALUES(94, 3, 2.25, 20)INSERT guia_detalle VALUES(94, 4, 1.95, 20)INSERT guia_detalle VALUES(94, 6, 2.70, 30)INSERT guia_detalle VALUES(94, 7, 3.30, 25)INSERT guia_detalle VALUES(94, 8, 2.40, 25)INSERT guia_detalle VALUES(94, 9, 3.15, 20)INSERT guia_detalle VALUES(94, 10, 1.05, 20)INSERT guia_detalle VALUES(94, 11, 0.60, 50)INSERT guia_detalle VALUES(94, 12, 2.25, 50)

INSERT guia VALUES(95, 5, getdate(), 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(95, 1, 2.25, 20)INSERT guia_detalle VALUES(95, 2, 1.50, 20)INSERT guia_detalle VALUES(95, 3, 2.25, 20)INSERT guia_detalle VALUES(95, 4, 1.95, 20)INSERT guia_detalle VALUES(95, 6, 2.70, 30)INSERT guia_detalle VALUES(95, 7, 3.30, 25)INSERT guia_detalle VALUES(95, 8, 2.40, 25)INSERT guia_detalle VALUES(95, 9, 3.15, 20)INSERT guia_detalle VALUES(95, 10, 1.05, 20)INSERT guia_detalle VALUES(95, 11, 0.60, 50)INSERT guia_detalle VALUES(95, 12, 2.25, 50)-- FIN GOLOSINAS DIA 4

-- EMBUTIDOS DIA 4INSERT guia VALUES(96, 1, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(96, 26, 18.75, 15)INSERT guia_detalle VALUES(96, 27, 18.75, 15)INSERT guia_detalle VALUES(96, 28, 18.75, 15)INSERT guia_detalle VALUES(96, 29, 15.00, 20)INSERT guia_detalle VALUES(96, 30, 25.50, 20)INSERT guia_detalle VALUES(96, 37, 8.25, 25)INSERT guia_detalle VALUES(96, 38, 10.20, 20)INSERT guia_detalle VALUES(96, 39, 11.25, 25)INSERT guia_detalle VALUES(96, 42, 15.75, 15)

Prof. Angel Roque 73

Page 74: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(96, 43, 14.25, 20)INSERT guia_detalle VALUES(96, 44, 17.25, 10)

INSERT guia VALUES(97, 2, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(97, 26, 18.75, 15)INSERT guia_detalle VALUES(97, 27, 18.75, 15)INSERT guia_detalle VALUES(97, 28, 18.75, 15)INSERT guia_detalle VALUES(97, 29, 15.00, 20)INSERT guia_detalle VALUES(97, 30, 25.50, 20)INSERT guia_detalle VALUES(97, 37, 8.25, 25)INSERT guia_detalle VALUES(97, 38, 10.20, 20)INSERT guia_detalle VALUES(97, 39, 11.25, 25)INSERT guia_detalle VALUES(97, 42, 15.75, 15)INSERT guia_detalle VALUES(97, 43, 14.25, 20)INSERT guia_detalle VALUES(97, 44, 17.25, 10)

INSERT guia VALUES(98, 3, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(98, 26, 18.75, 15)INSERT guia_detalle VALUES(98, 27, 18.75, 15)INSERT guia_detalle VALUES(98, 28, 18.75, 15)INSERT guia_detalle VALUES(98, 29, 15.00, 20)INSERT guia_detalle VALUES(98, 30, 25.50, 20)INSERT guia_detalle VALUES(98, 37, 8.25, 25)INSERT guia_detalle VALUES(98, 38, 10.20, 20)INSERT guia_detalle VALUES(98, 39, 11.25, 25)INSERT guia_detalle VALUES(98, 42, 15.75, 15)INSERT guia_detalle VALUES(98, 43, 14.25, 20)INSERT guia_detalle VALUES(98, 44, 17.25, 10)

INSERT guia VALUES(99, 4, getdate(), 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(99, 26, 18.75, 15)INSERT guia_detalle VALUES(99, 27, 18.75, 15)INSERT guia_detalle VALUES(99, 28, 18.75, 15)INSERT guia_detalle VALUES(99, 29, 15.00, 20)INSERT guia_detalle VALUES(99, 30, 25.50, 20)INSERT guia_detalle VALUES(99, 37, 8.25, 25)INSERT guia_detalle VALUES(99, 38, 10.20, 20)INSERT guia_detalle VALUES(99, 39, 11.25, 25)INSERT guia_detalle VALUES(99, 42, 15.75, 15)INSERT guia_detalle VALUES(99, 43, 14.25, 20)

Prof. Angel Roque 74

Page 75: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(99, 44, 17.25, 10)

INSERT guia VALUES(100, 5, getdate(), 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(100, 26, 18.75, 15)INSERT guia_detalle VALUES(100, 27, 18.75, 15)INSERT guia_detalle VALUES(100, 28, 18.75, 15)INSERT guia_detalle VALUES(100, 29, 15.00, 20)INSERT guia_detalle VALUES(100, 30, 25.50, 20)INSERT guia_detalle VALUES(100, 37, 8.25, 25)INSERT guia_detalle VALUES(100, 38, 10.20, 20)INSERT guia_detalle VALUES(100, 39, 11.25, 25)INSERT guia_detalle VALUES(100, 42, 15.75, 15)INSERT guia_detalle VALUES(100, 43, 14.25, 20)INSERT guia_detalle VALUES(100, 44, 17.25, 10)-- FIN EMBUTIDOS DIA 4

-- LIMPIEZA PERSONAL DIA 4INSERT guia VALUES(101, 1, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(101, 51, 5.85, 10)INSERT guia_detalle VALUES(101, 54, 11.95, 10)INSERT guia_detalle VALUES(101, 53, 11.95, 10)INSERT guia_detalle VALUES(101, 58, 18.00, 10)INSERT guia_detalle VALUES(101, 59, 2.05, 20)INSERT guia_detalle VALUES(101, 63, 1.95, 25)INSERT guia_detalle VALUES(101, 64, 3.00, 350)INSERT guia_detalle VALUES(101, 65, 0.75, 1000)INSERT guia_detalle VALUES(101, 66, 0.75, 1000)INSERT guia_detalle VALUES(101, 68, 2.10, 200)INSERT guia_detalle VALUES(101, 74, 1.65, 200)

INSERT guia VALUES(102, 2, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(102, 51, 5.85, 10)INSERT guia_detalle VALUES(102, 54, 11.95, 10)INSERT guia_detalle VALUES(102, 53, 11.95, 10)INSERT guia_detalle VALUES(102, 58, 18.00, 10)INSERT guia_detalle VALUES(102, 59, 2.05, 20)INSERT guia_detalle VALUES(102, 63, 1.95, 25)INSERT guia_detalle VALUES(102, 64, 3.00, 350)INSERT guia_detalle VALUES(102, 65, 0.75, 1000)INSERT guia_detalle VALUES(102, 66, 0.75, 1000)

Prof. Angel Roque 75

Page 76: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(102, 68, 2.10, 200)INSERT guia_detalle VALUES(102, 74, 1.65, 200)

INSERT guia VALUES(103, 3, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(103, 51, 5.85, 10)INSERT guia_detalle VALUES(103, 54, 11.95, 10)INSERT guia_detalle VALUES(103, 53, 11.95, 10)INSERT guia_detalle VALUES(103, 58, 18.00, 10)INSERT guia_detalle VALUES(103, 59, 2.05, 20)INSERT guia_detalle VALUES(103, 63, 1.95, 25)INSERT guia_detalle VALUES(103, 64, 3.00, 350)INSERT guia_detalle VALUES(103, 65, 0.75, 1000)INSERT guia_detalle VALUES(103, 66, 0.75, 1000)INSERT guia_detalle VALUES(103, 68, 2.10, 200)INSERT guia_detalle VALUES(103, 74, 1.65, 200)

INSERT guia VALUES(104, 4, getdate(), 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(104, 51, 5.85, 10)INSERT guia_detalle VALUES(104, 54, 11.95, 10)INSERT guia_detalle VALUES(104, 53, 11.95, 10)INSERT guia_detalle VALUES(104, 58, 18.00, 10)INSERT guia_detalle VALUES(104, 59, 2.05, 20)INSERT guia_detalle VALUES(104, 63, 1.95, 25)INSERT guia_detalle VALUES(104, 64, 3.00, 350)INSERT guia_detalle VALUES(104, 65, 0.75, 1000)INSERT guia_detalle VALUES(104, 66, 0.75, 1000)INSERT guia_detalle VALUES(104, 68, 2.10, 200)INSERT guia_detalle VALUES(104, 74, 1.65, 200)

INSERT guia VALUES(105, 5, getdate(), 'ALIAGA VIDAL, JEREMIAS')INSERT guia_detalle VALUES(105, 51, 5.85, 10)INSERT guia_detalle VALUES(105, 54, 11.95, 10)INSERT guia_detalle VALUES(105, 53, 11.95, 10)INSERT guia_detalle VALUES(105, 58, 18.00, 10)INSERT guia_detalle VALUES(105, 59, 2.05, 20)INSERT guia_detalle VALUES(105, 63, 1.95, 25)INSERT guia_detalle VALUES(105, 64, 3.00, 350)INSERT guia_detalle VALUES(105, 65, 0.75, 1000)INSERT guia_detalle VALUES(105, 66, 0.75, 1000)INSERT guia_detalle VALUES(105, 68, 2.10, 200)

Prof. Angel Roque 76

Page 77: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT guia_detalle VALUES(105, 74, 1.65, 200)-- FIN LIMPIEZA PERSONAL DIA 4

-- LACTEOS DIA 4INSERT guia VALUES(106, 1, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(106, 92, 3.00, 25)INSERT guia_detalle VALUES(106, 93, 3.15, 25)INSERT guia_detalle VALUES(106, 95, 3.00, 50)INSERT guia_detalle VALUES(106, 97, 3.00, 50)INSERT guia_detalle VALUES(106, 100, 3.00, 25)INSERT guia_detalle VALUES(106, 101, 0.75, 100)INSERT guia_detalle VALUES(106, 103, 0.75, 100)INSERT guia_detalle VALUES(106, 105, 0.75, 100)INSERT guia_detalle VALUES(106, 106, 0.75, 100)INSERT guia_detalle VALUES(106, 107, 7.50, 25)INSERT guia_detalle VALUES(106, 108, 9.00, 25)

INSERT guia VALUES(107, 2, getdate(), 'VELASQUEZ ORTIZ, FRANCISCO')INSERT guia_detalle VALUES(107, 92, 3.00, 25)INSERT guia_detalle VALUES(107, 93, 3.15, 25)INSERT guia_detalle VALUES(107, 95, 3.00, 50)INSERT guia_detalle VALUES(107, 97, 3.00, 50)INSERT guia_detalle VALUES(107, 100, 3.00, 25)INSERT guia_detalle VALUES(107, 101, 0.75, 100)INSERT guia_detalle VALUES(107, 103, 0.75, 100)INSERT guia_detalle VALUES(107, 105, 0.75, 100)INSERT guia_detalle VALUES(107, 106, 0.75, 100)INSERT guia_detalle VALUES(107, 107, 7.50, 25)INSERT guia_detalle VALUES(107, 108, 9.00, 25)-- FIN LACTEOS DIA 4

------------------------------------ Tablas Orden y Orden_Detalle------------------------------------ PROVEEDOR 1INSERT orden VALUES(1, getdate() - 10, getdate() - 9)INSERT orden_detalle VALUES(1,44,11.50,250,250,'Entregado')INSERT orden_detalle VALUES(1,98,3.00,100,0,'Agotado')INSERT orden_detalle VALUES(1,92,2.00,100,100,'Entregado')INSERT orden_detalle VALUES(1,37,5.50,250,250,'Entregado')

Prof. Angel Roque 77

Page 78: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT orden_detalle VALUES(1,32,20.50,50,50,'Entregado')INSERT orden_detalle VALUES(1,26,12.50,100,100,'Entregado')INSERT orden_detalle VALUES(1,102,0.50,500,500,'Entregado')INSERT orden_detalle VALUES(1,97,2.00,500,500,'Entregado')-- FIN PROVEEDOR 1

-- PROVEEDOR 3INSERT orden VALUES(2, getdate() - 10, getdate() - 9)INSERT orden_detalle VALUES(2,50,10.50,100,100,'Entregado')INSERT orden_detalle VALUES(2,47,11.50,100,50,'Entregado')INSERT orden_detalle VALUES(2,40,8.00,250,250,'Entregado')INSERT orden_detalle VALUES(2,36,21.50,100,100,'Entregado')-- FIN PROVEEDOR 3

-- PROVEEDOR 5INSERT orden VALUES(3, getdate() - 10, getdate() - 9)INSERT orden_detalle VALUES(3,51,3.90,100,100,'Entregado')INSERT orden_detalle VALUES(3,54,7.95,100,100,'Entregado')INSERT orden_detalle VALUES(3,56,4.10,100,100,'Entregado')INSERT orden_detalle VALUES(3,61,4.70,100,100,'Entregado')INSERT orden_detalle VALUES(3,126,1.48,5000,3000,'Entregado')INSERT orden_detalle VALUES(3,130,1.20,5000,5000,'Entregado')INSERT orden_detalle VALUES(3,132,1.40,5000,5000,'Entregado')INSERT orden_detalle VALUES(3,127,1.80,5000,5000,'Entregado')INSERT orden_detalle VALUES(3,76,0.80,4500,4500,'Entregado')INSERT orden_detalle VALUES(3,77,3.50,1000,1000,'Entregado')-- FIN PROVEEDOR 5

-- PROVEEDOR 7INSERT orden VALUES(4, getdate() - 10, getdate() - 9)INSERT orden_detalle VALUES(4,74,1.10,2000,2000,'Entregado')INSERT orden_detalle VALUES(4,75,2.70,2000,1000,'Entregado')INSERT orden_detalle VALUES(4,79,1.65,2000,2000,'Entregado')INSERT orden_detalle VALUES(4,81,5.05,1000,1000,'Entregado')INSERT orden_detalle VALUES(4,78,2.15,2000,2000,'Entregado')-- FIN PROVEEDOR 7

-- PROVEEDOR 15INSERT orden VALUES(5, getdate() - 8, getdate() - 7)INSERT orden_detalle VALUES(5,2,1.00,500,500,'Entregado')

Prof. Angel Roque 78

Page 79: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT orden_detalle VALUES(5,8,1.60,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,7,2.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,12,1.50,1000,750,'Entregado')INSERT orden_detalle VALUES(5,5,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,6,1.80,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,18,1.00,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,19,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,20,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(5,10,0.70,1000,1000,'Entregado')-- FIN PROVEEDOR 15

-- PROVEEDOR 14INSERT orden VALUES(6, getdate() - 8, getdate() - 7)INSERT orden_detalle VALUES(6,4,1.30,1000,1000,'Entregado')INSERT orden_detalle VALUES(6,3,1.50,500,250,'Entregado')INSERT orden_detalle VALUES(6,13,0.80,500,500,'Entregado')INSERT orden_detalle VALUES(6,24,8.50,250,250,'Entregado')INSERT orden_detalle VALUES(6,21,2.50,200,200,'Entregado')-- FIN PROVEEDOR 14

-- PROVEEDOR 1INSERT orden VALUES(7, getdate() - 7, getdate() - 6)INSERT orden_detalle VALUES(7,44,11.50,250,250,'Entregado')INSERT orden_detalle VALUES(7,98,3.00,100,0,'Agotado')INSERT orden_detalle VALUES(7,92,2.00,100,100,'Entregado')INSERT orden_detalle VALUES(7,37,5.50,250,250,'Entregado')INSERT orden_detalle VALUES(7,32,20.50,50,50,'Entregado')INSERT orden_detalle VALUES(7,26,12.50,100,100,'Entregado')INSERT orden_detalle VALUES(7,102,0.50,500,500,'Entregado')INSERT orden_detalle VALUES(7,97,2.00,500,500,'Entregado')-- FIN PROVEEDOR 1

-- PROVEEDOR 3INSERT orden VALUES(8, getdate() - 7, getdate() - 6)INSERT orden_detalle VALUES(8,50,10.50,100,100,'Entregado')INSERT orden_detalle VALUES(8,47,11.50,100,100,'Entregado')INSERT orden_detalle VALUES(8,40,8.00,250,250,'Entregado')INSERT orden_detalle VALUES(8,36,21.50,100,100,'Entregado')-- FIN PROVEEDOR 3

Prof. Angel Roque 79

Page 80: Manual Transact

LENGUAJE DE PROGRAMACION IV-- PROVEEDOR 5INSERT orden VALUES(9, getdate() - 7, getdate() - 6)INSERT orden_detalle VALUES(9,51,3.90,100,100,'Entregado')INSERT orden_detalle VALUES(9,54,7.95,100,100,'Entregado')INSERT orden_detalle VALUES(9,56,4.10,100,100,'Entregado')INSERT orden_detalle VALUES(9,61,4.70,100,100,'Entregado')INSERT orden_detalle VALUES(9,126,1.48,5000,5000,'Entregado')INSERT orden_detalle VALUES(9,130,1.20,5000,5000,'Entregado')INSERT orden_detalle VALUES(9,132,1.40,5000,5000,'Entregado')INSERT orden_detalle VALUES(9,127,1.80,5000,5000,'Entregado')INSERT orden_detalle VALUES(9,76,0.80,4500,4500,'Entregado')INSERT orden_detalle VALUES(9,77,3.50,1000,1000,'Entregado')-- FIN PROVEEDOR 5

-- PROVEEDOR 7INSERT orden VALUES(10, getdate() - 7, getdate() - 6)INSERT orden_detalle VALUES(10,74,1.10,2000,2000,'Entregado')INSERT orden_detalle VALUES(10,75,2.70,2000,2000,'Entregado')INSERT orden_detalle VALUES(10,79,1.65,2000,2000,'Entregado')INSERT orden_detalle VALUES(10,81,5.05,1000,1000,'Entregado')INSERT orden_detalle VALUES(10,78,2.15,2000,2000,'Entregado')-- FIN PROVEEDOR 7

-- PROVEEDOR 15INSERT orden VALUES(11, getdate() - 7, getdate() - 6)INSERT orden_detalle VALUES(11,2,1.00,500,500,'Entregado')INSERT orden_detalle VALUES(11,8,1.60,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,7,2.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,12,1.50,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,5,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,6,1.80,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,18,1.00,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,19,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,20,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(11,10,0.70,1000,1000,'Entregado')-- FIN PROVEEDOR 15

-- PROVEEDOR 14INSERT orden VALUES(12, getdate() - 7, getdate() - 6)INSERT orden_detalle VALUES(12,4,1.30,1000,1000,'Entregado')

Prof. Angel Roque 80

Page 81: Manual Transact

LENGUAJE DE PROGRAMACION IVINSERT orden_detalle VALUES(12,3,1.50,500,500,'Entregado')INSERT orden_detalle VALUES(12,13,0.80,500,500,'Entregado')INSERT orden_detalle VALUES(12,24,8.50,250,250,'Entregado')INSERT orden_detalle VALUES(12,21,2.50,200,200,'Entregado')-- FIN PROVEEDOR 14

-- PROVEEDOR 1INSERT orden VALUES(13, getdate() - 5, getdate() - 4)INSERT orden_detalle VALUES(13,44,11.50,250,250,'Entregado')INSERT orden_detalle VALUES(13,98,3.00,100,0,'Entregado')INSERT orden_detalle VALUES(13,92,2.00,100,100,'Entregado')INSERT orden_detalle VALUES(13,37,5.50,250,250,'Entregado')INSERT orden_detalle VALUES(13,32,20.50,50,50,'Entregado')INSERT orden_detalle VALUES(13,26,12.50,100,100,'Entregado')INSERT orden_detalle VALUES(13,102,0.50,500,500,'Entregado')INSERT orden_detalle VALUES(13,97,2.00,500,500,'Entregado')-- FIN PROVEEDOR 1

-- PROVEEDOR 3INSERT orden VALUES(14, getdate() - 5, getdate() - 4)INSERT orden_detalle VALUES(14,50,10.50,100,100,'Entregado')INSERT orden_detalle VALUES(14,47,11.50,100,100,'Entregado')INSERT orden_detalle VALUES(14,40,8.00,250,250,'Entregado')INSERT orden_detalle VALUES(14,36,21.50,100,100,'Entregado')-- FIN PROVEEDOR 3

-- PROVEEDOR 5INSERT orden VALUES(15, getdate() - 5, getdate() - 4)INSERT orden_detalle VALUES(15,51,3.90,100,100,'Entregado')INSERT orden_detalle VALUES(15,54,7.95,100,100,'Entregado')INSERT orden_detalle VALUES(15,56,4.10,100,100,'Entregado')INSERT orden_detalle VALUES(15,61,4.70,100,100,'Entregado')INSERT orden_detalle VALUES(15,126,1.48,5000,5000,'Entregado')INSERT orden_detalle VALUES(15,130,1.20,5000,5000,'Entregado')INSERT orden_detalle VALUES(15,132,1.40,5000,5000,'Entregado')INSERT orden_detalle VALUES(15,127,1.80,5000,5000,'Entregado')INSERT orden_detalle VALUES(15,76,0.80,4500,4500,'Entregado')INSERT orden_detalle VALUES(15,77,3.50,1000,1000,'Entregado')-- FIN PROVEEDOR 5

Prof. Angel Roque 81

Page 82: Manual Transact

LENGUAJE DE PROGRAMACION IV-- PROVEEDOR 7INSERT orden VALUES(16, getdate() - 5, getdate() - 4)INSERT orden_detalle VALUES(16,74,1.10,2000,2000,'Entregado')INSERT orden_detalle VALUES(16,75,2.70,2000,2000,'Entregado')INSERT orden_detalle VALUES(16,79,1.65,2000,2000,'Entregado')INSERT orden_detalle VALUES(16,81,5.05,1000,1000,'Entregado')INSERT orden_detalle VALUES(16,78,2.15,2000,2000,'Entregado')-- FIN PROVEEDOR 7

-- PROVEEDOR 15INSERT orden VALUES(17, getdate() - 5, getdate() - 4)INSERT orden_detalle VALUES(17,2,1.00,500,500,'Entregado')INSERT orden_detalle VALUES(17,8,1.60,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,7,2.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,12,1.50,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,5,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,6,1.80,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,18,1.00,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,19,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,20,1.20,1000,1000,'Entregado')INSERT orden_detalle VALUES(17,10,0.70,1000,1000,'Entregado')-- FIN PROVEEDOR 15

-- PROVEEDOR 14INSERT orden VALUES(18, getdate() - 5, getdate() - 4)INSERT orden_detalle VALUES(18,4,1.30,1000,1000,'Entregado')INSERT orden_detalle VALUES(18,3,1.50,500,500,'Entregado')INSERT orden_detalle VALUES(18,13,0.80,500,500,'Entregado')INSERT orden_detalle VALUES(18,24,8.50,250,250,'Entregado')INSERT orden_detalle VALUES(18,21,2.50,200,200,'Entregado')-- FIN PROVEEDOR 14

4. Muestre información de todas las tablas en el administrador corporativo5. Realice las siguientes consultas y genere un script con las sentencias utilizadas.

- Muestre todas las columnas y todas las filas de la tabla proveedor.- Muestre las columnas nombre, dirección y ciudad de la tabla proveedor- Listar productos cuyo nombre contenga la palabra chocolate.- Lista de productos en los que el segundo carácter del nombre es una U.

Prof. Angel Roque 82

Page 83: Manual Transact

LENGUAJE DE PROGRAMACION IV- Lista de productos cuyo nombre empieza con cualquier caracter que va del rango de la T a la Z- Lista de productos cuyo precio se encuentra en el rango que va de 15.00 a 21.50- Lista de productos cuyo nombre se encuentra en el rango que va de jamonada a mantequilla.- Lista de guías de remisión cuya fecha de salida se encuentra en el rango que va del 19 de diciembre del 2007 al 22 de

diciembre del 2007.- Lista de proveedores ubicados en las ciudad des Huancayo, Cañete ó Chiclayo.- Determinar cuantos productos tiene registrados cada categoría- Determinar cuantos productos tiene registrados cada categoría, y cual es el precio promedio de los productos de cada

categoría.- Determinar cuantas entregas diarias ha realizado cada transportista- Determinar cual es el monto en Nuevos Soles que ha salido del almacén para cada producto.- Determinar cuantos productos tiene registrados cada categoría, y cual es el precio promedio de los productos de cada

categoría- Determinar a que precio se han comprado los productos, haciendo uso de la cláusula DISTINCT.- Listado de los productos que registran salida de almacén. - Liste todos los productos que por lo menos registren una salida de almacén y además todas las filas de la tabla producto

que no tengan relación con la tabla guia_detalle.- Listado de productos clasificados por proveedor y categoría, combinando las tablas correspondientes.

ACTIVIDAD 4

Implemente la base de datos, y realice cada una de las consultas requeridas, almacenando el código y la pantalla de resultado para cada consulta en este mismo documento. Al final incluya sus nombres y apellidos.

Considere la siguiente información:

BASE DE DATOS: INFOPERTABLAS:

Prof. Angel Roque 83

Page 84: Manual Transact

LENGUAJE DE PROGRAMACION IVPERSONAS

CedulaID Nombre Primer_Apellido Segundo_Apellido Sexo Dirección Telefono Salario Cedula_Jefe Codigo_dep

71134534 Juan Mesa Uribe M Cra 25 22-1 2567532 1,600,000 23423445 3

23423445 Ana María Betancur Bermudez F Cra 45 11-13 3433444 1,700,000 43890231 2

12453535 Gloria Betancur  Garces F Tr. 12 43-5 2756533 1,350,000 71134534 3

75556743 Pedro Ochoa Pelaez M Cll.6ta 14-45 2686885 1,700,000 43890231 1

43533322 Patricia Angel Guzmán F Cll. 45 23-1 2674563 1,350,000 71134534 3

78900456 Carlos Betancur Agudelo M Cir. 5 12-5 4445775 1,500,000 75556743 1

73456789 Mario Gómez Angel M Cr. 53 23-1 3456789 1,200,000 23423445 2

43890231 Claudia Gonzalez Beltran F Cll. 10 14-1 2660356 1,800,000 43890231 0

78900700 Fabio Solano Pérez M Tr. 3 32-1 4345678 1,200,000 75556743 1

PARIENTES

CedulaID Nombre_par Sexo FechaNac Parentesco

78900456 Juanita F 12-Abr-95 Hija

78900456 Oscar M 15-Ene-89 Hijo

23423445 Hector M 23-Dic-67 Cónyuge

71134534 María F 05-Mar-60 Cónyuge

71134534 Gloria F 27-Nov-97 Hija

75556734 Jorge M 14-Mar-96 Hijo

DEPARTAMENTOS

Codigo_dep Nombre_Dep Cedula_Jefe

Prof. Angel Roque 84

Page 85: Manual Transact

LENGUAJE DE PROGRAMACION IV

0 Gerencia 43890231

1 Teleinformática 75556734

2 Desarrollo 23423445

3 Soporte Técnico 71134534

PROYECTOS

Numero_Proy Nombre Lugar Codigo_Dep

129001 Registro y Matrícula Bloque 21 2

139001 Red Lan Bloque 14 1

139002 Instalación nuevo Switch Bloque 21 1

129002 Notas Campus 2

129003 Paso de aplicativos FOXPRO A POWER BUILDER Bloque 21 2

149001 Inventario de HW y SW Minas 3

149002 Licenciamiento Campus 3

149003 Evaluación de equipos PC's Bloque 18 3

ACTIVIDADES A REALIZAR

1. Se desea obtener la cédula de identificación y el nombre de todas las personas que trabajan en la compañía.

SELECT cedulaID, nombre

   FROM  personas

2. Se desea obtener toda la información de la persona cuya cédula de identificación sea igual a 12453535.

SELECT nombre,primer_apellido,segundo_apellido,direccion,telefono

Prof. Angel Roque 85

Page 86: Manual Transact

LENGUAJE DE PROGRAMACION IVFROM  personas

WHERE cedula = 12453535

3. Se necesita la cédula de identificación y el nombre de las personas cuyo apellido sea BETANCUR y su sexo sea MASCULINO

SELECT cedula,nombre

  FROM  personas

WHERE primer_apellido = 'Betancur' AND sexo = 'M'

4. Se desea obtener la información de todos los parientes de las personas cuyo apellido sea BETANCUR y su sexo sea MASCULINO. 

SELECT  parientes.*   FROM  personas, parientes WHERE primer_apellido = 'Betancur'       AND sexo = 'M'       AND parientes.cedulaID = personas.cedulaID

5. Se necesita extraer los diferentes valores de salarios que se pagan en la compañía

SELECT distinct salario   FROM  personas

6. Mostrar el total de empleados en la compañía

SELECT  count(*)

  FROM  personas

7. Mostrar el total de proyectos que tiene asignada la dependencia o departamento 3

Prof. Angel Roque 86

Page 87: Manual Transact

LENGUAJE DE PROGRAMACION IVSELECT  count(*)   FROM  proyectos WHERE codigo_dep = 3

8. Mostrar cuántos salarios diferentes o distintos se pagan en la compañía

SELECT  count(distinct salario)

  FROM  personas

9. Se desea saber qué empleados están involucrados en los proyectos 139001 o 139002.

Forma básica:

SELECT  personas.*   FROM  personas, proyectos WHERE (numero_proy = 139001 OR numero_proy =139002)       AND cod_dep = codigo_dep

Utilizando IN:

SELECT  personas.*   FROM  personas, proyectos WHERE numero_proy  IN (139001,139002)       AND cod_dep = codigo_dep

10. Mostrar los diferentes proyectos en donde el ingeniero OCHOA participa

SELECT  distinct numero_proy    FROM  proyectos WHERE numero_proy  IN (select numero_proy

Prof. Angel Roque 87

Page 88: Manual Transact

LENGUAJE DE PROGRAMACION IV                                           from proyectos p, departamentos d, personas                                          where p.codigo_dep = d.codigo_dep                                                  and primer_apellido = 'Ochoa')

11. Mostrar los empleados cuyo jefe es de apellidos BETANCUR BERMUDEZ

SELECT  personas.*    FROM  personas WHERE cedula_jefe IN (select  cedula                                        from  personas                                      where primer_apellido = 'Betancur'                                          and segundo_apellido = 'Bermudez')

12. Mostrar el nombre de los empleados cuyo salario es mayor que el de todos los empleados del departamento 3. 

SELECT  nombre, primer_apellido, segundo_apellido

FROM  personas

WHERE salario  >  ALL (select  salario

                                     from  personas

                                     where cod_dep = 3)

13.  Mostrar los empleados que no tengan asignado salario

SELECT  *    FROM  personas WHERE salario  IS NULL

14. Se desea averiguar el total pagado por la compañía, el máximo y el mínimo salario y el promedio pagado

Prof. Angel Roque 88

Page 89: Manual Transact

LENGUAJE DE PROGRAMACION IVSELECT  sum(salario), max(salario), min(salario), avg(salario)    FROM  personas  

15. Mostrar el número y el nombre del proyecto en donde trabajen más de dos empleados

SELECT  nombre, numero_proy   FROM   proyectos, trabaja_en WHERE  numero_proy = nump GROUP BY nombre, numero_proy HAVING count(*) > 1

Prof. Angel Roque 89

Page 90: Manual Transact

LENGUAJE DE PROGRAMACION IV

PROGRAMACIÓN EN EL SERVIDOR SQL1. LAS VISTASUna vista es una tabla virtual que muestra la información relevante para el usuario además que permite encapsular la complejidad de su implementación.

Las vistas permiten realizar una partición horizontal o vertical de una o más tablas de la base de datos. En otras palabras, con una vista puede hacer que el usuario vea solo los campos y filas seleccionadas.

La vista es un objeto que almacena una consulta predefinida y que proporciona un modo alternativo de visualización de datos sin tener que redefinir la consulta.Normalmente una vista puede incluir:

- Un subconjunto de filas o columnas de una tabla.- Una unión de dos o más tablas base.- Una combinación (join) de dos o más tablas base.- Un resumen estadístico de una tabla.- Un subconjunto de otra vista, ó alguna combinación de vistas y tablas.

Como se observa en el ejemplo, los usuarios solo podrán observar las columnas que son importantes para su trabajo, esto da la ventaja de no tener que estar manipulando datos innecesarios.Otra de las ventajas es que simplifica consultas futuras, que pueden tornarse complejas.Antes de implementar las vistas debemos tener en cuenta las siguientes consideraciones:

Sólo pueden crearse vistas en la base de datos activa, aunque las tablas y/o vistas que son parte de la definición se encuentren en otras bases de datos.

Se pueden crear vistas a partir de otras vistas No se pueden asociar propiedades default, reglas y/o desencadenadores

(triggers) a una vista.

Prof. Angel Roque 90

Page 91: Manual Transact

LENGUAJE DE PROGRAMACION IV

La consulta que forma la vista no puede incluir cláusulas ORDER BY, COMPUTE, COMPUTE BY ó SELECT INTO.

No se pueden construir índices sobre las vistas No se pueden crear vistas temporales, ni vistas basadas en tablas

temporales. Cada una de las columnas empleadas en la vista debe tener un

encabezado. No se puede hacer referencia a más de 1024 columnas.

CREAR VISTAS

La sintaxis básica para crear una vista es:

CREATE VIEW nombre_vista[(Lista_columnas)]ASsentencia_select

Ejemplo:

CREATE VIEW embutidosASSelect idProducto, Nombre, unidadMedida, precioProveedor, stockActualFROM productoWHERE idCategoria = 2

Se crea una vista que almacena una consulta que recupera todos los productos de la categoría 2(embutidos).

Para ejecutar la vista:

SELECT * FROM embutidos

Posterior a esto, una vista puede consultar como cualquier tabla. Por ejemplo:

SELECT improducto, nombre, precioProveedor FROM embutidosWHERE precioProveedor < 10

MODIFICAR VISTASPara modificar la vista utilice la siguiente sentencia:

ALTER VIEW nombre_vista [(lista_columnas)]AS

sentencia_select

ELIMINAR VISTASPara eliminar vistas utilizar la sentencia:

DROP VIEW nombre_vista

Prof. Angel Roque 91

Page 92: Manual Transact

LENGUAJE DE PROGRAMACION IV

Considerando la estructura y el diagrama de relación de la base de datos de MegaService construya las siguientes vistas y consultas:

1. En base a vistas, genere un listado que muestre el balance de entrada/salida de cada producto, es decir, para cada producto debe mostrar cuántas unidades han entrado a almacén, y cuantas unidades han salido del almacén.

2. Considerando la siguientes base de datos, su estructura y su diagrama de relación:

Crear una vista que permita mostrar un informe resumen por sección que muestre: la sección, el nombre del profesor, el total de alumnos, el mayor y menor promedio, el promedio y el monto acumulado de las pensiones.

SUBCONSULTASUna subconsulta es una consulta que aparece dentro de la cláusula WHERE O HAVIG de otra sentencia SQL. Las subconsultas proporcionan un modo eficaz y naturald e manejar las peticiones de consultas que se expresan en términos de los resultados de otras consultas.

Una subconsulta está siempre encerrada entre paréntesis pero por otra parte tiene el formato de una sentencia SELECT. Con una cláusula FROM y cláusulas opcionales WHERE, GROUP BY y HAVING. El formato de éstas cláusulas en una subconsulta es idéntico al que tienen en una sentencia SELECT , y efectúan sus funciones normales

Prof. Angel Roque 92

Page 93: Manual Transact

LENGUAJE DE PROGRAMACION IV

cuando se utilizan dentro de una subconsulta. Sin embargo, hay unas cuantas diferencias entre una subconsulta y una sentencia SELECT real:

Una subconsulta debe producir una única columna de datos como resultados. Esto significa que una subconsulta siempre tiene un único elemento de selección en su cláusula SELECT

La cláusula ORDER BY no puede ser especificada en una subconsulta. Los resultados de la subconsulta se utilizan internamente por parte de la consulta principal y nunca son visibles al usuario, por lo que tiene poco sentido ordenarlas.

Una subconsulta no puede ser la UNION de varias sentencias SELECT diferentes; sólo se permite una única sentencia SELECT.

Los nombres de columna que aparecen en un subconsulta pueden referirse a columnas de tablas en la consulta principal.

Por ejemplo:

CASO PRACTICOFASTFOOD RESTAURANTE

Estructura de la Base de Datos y TABLAS.

CategoríaídCategoria nt IDENTITY (PK)NomCategoria varchar(25) NOT NULLPrefijo char(3) NOT NULLContador int NOT NULL

ArtículoidArticulo char(8) NOT NULL (PK)idCategoria int NOT NULL(FK)NomArticulo varchar(35) NOT NULLPreArticulo money NOT NULL

DetallePedidoidPedido int NOT NULL (FK)idArtículo char(8) NOT NULL(FK)cantidad int NOT NULLPreVenta money NOT NULLSubtotal money NOT NULL

PedidoidPedido int NOT NULL(PK)Cliente varchar(35) NOT NULLidEmpleado char(5) NOT NULL(FK)Fecha datetime NOT NULLMonto money NOT NULLDdescuento money NOT NULLIgv money NOT NULL

Prof. Angel Roque 93

Page 94: Manual Transact

LENGUAJE DE PROGRAMACION IV

Total money NOT NULL

EmpleadoidEmpleado char(5) NOT NULL(PK)ApeEmpleado varchar(29) NOT NULLNomEmpleado varchar(20) NOT NULLTelefono varchar(8) NOT NULL

PromociónidPromocion int IDENTITYMontomin money NOT NULLMontoMax money NOT NULLPorcentaje int NOT NULL

ParametrosCampo varchar(20) NOT NULLValor int NOT NULL

1. cargar datos en la tablas2. realizar las siguientes consultas

Mostrar números de factura y el mes de las ventas del día de hoy. (impedido, Mes)

Mostrar le IGV de las ventas con redondeo a una cifra decimal Mostrar la fecha en caracteres de todos los pedidos realizados Listar los empleados

Listar los artículos cuyo precio sea mayor o igual al precio promedio de los artículos vendidos.

Prof. Angel Roque 94

Page 95: Manual Transact

LENGUAJE DE PROGRAMACION IV

VARIABLESLas variables son elementos del lenguaje a los que se puede asignar valores, pudiendo ser locales o globales.

VARIABLES LOCALES(Definidas por el usuario)Una variable local se define en una sentencia DECLARE, se le asigna un valor inicial en una declaración SET, y se utiliza dentro de la declaración, batch, o procedimiento en la que fue declarada.

Una variable local se identifica con un símbolo @ que precede a su nombre.

DECLARE nombre_variable tipo_dato

SET @nombre_variable=expresión

Ejemplo:Crear la variable local @vlmarca, asignarle un valor y consultar a la base de datos para recuperar las filas que contengan el valor de la variable.

DECLARE @vlmarca varchar(20)

SET @vlmarca = ‘Gloria’

SELECT improducto, nombre, unidadMedida, precioProveedorFROM productoWHERE nombre LIKE ‘%’+@vlmarca + ‘%’

VARIABLES GLOBALES(Predefinidas por el sistema)Las variables globales son predefinidas y mantenidas por SQL Server. El usuario no puede asignar o cambiar directamente los valores de las variables globales. La mayoría de las variables globales devuelven información de la actividades llevadas a cabo en el sistema.

Una variable global es identificada con dos símbolos @ precediendo su nombre.

Ejemplos:

Retornar la versión del sistema.SELECT @@version

El ejemplo siguiente trata de actualizar el precio del producto cuyo improducto es 238(este producto no existe). Luego se verifica si la instrucción se ejecutó satisfactoriamente comprobando el valor de la variable global @@RowCount

UPDATE productoSET precioProveedor = 26.50WHERE improducto = 238

IF(@@RowCount =0 )

Prof. Angel Roque 95

Page 96: Manual Transact

LENGUAJE DE PROGRAMACION IV

BEGINRAISERROR(“No se pudo actualizar el producto”, 16, 1)RETURN

END

SENTENCIAS DE CONTORL DE FLUJOLos siguientes elementos del lenguaje le permiten controlar el flujo de la lógica dentro de un script o secuencia de comandos de Transact-SQL.

BEGIN … ENDSe utiliza para agrupar varias instrucciones SQL en un bloque lógico. se debe utilizar BEGIN … END en cualquier parte en la que una instrucción de control de flujo debe ejecutar dos o más instrucciones Transact-SQL.

BEGIN

….…END

BEGIN … ENDSe utiliza cuando:

Un bucle WHUILE debe incluir un bloque de instrucciones Una Función CASE debe incluir un bloque de instrucciones Una cláusula IF o ELSE debe incluir un bloque de instrucciones

GotoAltera el flujo de ejecución desviándolo hacia una etiqueta. Las instrucciones que siguen a GOTO se pasan por alto y el procesamiento continúa en el punto que marca la etiqueta.

….GOTO etiqueta….….

Etiqueta:….….

Prof. Angel Roque 96

Page 97: Manual Transact

LENGUAJE DE PROGRAMACION IV

DESENCADENADORESUn desencadenador (Trigger) es un tipo especial de procedimiento almacenado que se activa de forma controlada por sucesos antes que por llamadas directas. Los desencadenadores /Trigger) están asociados a tablas.Son herramientas para controlar reglas de negocio más complejas que la integridad referencial. Los desencadenadores y las sentencias que desencadenan su ejcución trabajan unidas como una transacción.

Normalmente las instrucciones o sentencias bajo las cuales se implementan los desencadenadores son:

- INSERT- UPDATE- DELETE

Para crear un desencadenador utilizar la siguiente sentencia:

CREATE

Prof. Angel Roque 97

Page 98: Manual Transact

LENGUAJE DE PROGRAMACION IV

Ejemplos varios

INSERT INTO prestamo (nombre, apellidos, estado, fecha_prestamo)VALUES ('juan', 'fernandez', 'B', 25 / 10 / 2005)

ALTER Table librosadd precioCmp int, igv int,precioVta as precioCmp+igvgo

insert into libros (precioCmp,igv)

values(10,5)go

Prof. Angel Roque 98