Vistas de página en total

martes, 28 de junio de 2011

PC3 2010-1 A

PREGUNTA 1
SOLUCION



CREATE TRIGGER tr_actStock ON VENTA_DETALLE
FOR UPDATE
AS
DECLARE @CANT INT
DECLARE @AUX INT
DECLARE @PROD INT
begin
if update(Q_CANTIDAD)
BEGIN
SELECT @AUX = Q_CANTIDAD FROM inserted
select @PROD = C_PRODUCTO FROM INSERTED
SELECT @CANT = Q_CANTIDAD FROM deleted
IF (@CANT - @AUX) != 0
BEGIN
UPDATE PRODUCTO
SET Q_STOCK = Q_STOCK + @CANT - @AUX
WHERE C_PRODUCTO = @PROD
END 
END
end

-- Para probar nuestro trigger actualizamos el detalle del pedido del producto 1, lo actualizamo de 5 a 10,  es decir se disminuira la cant de stock de productos en 5 desde 97.

UPDATE VENTA_DETALLE 
SET Q_CANTIDAD = 10
WHERE C_PRODUCTO = 1

SELECT * FROM PRODUCTO
SELECT * FROM VENTA_DETALLE









PREGUNTA 2
SOLUCION


CREATE TRIGGER TR_ACT_VENTOT ON VENTA_DETALLE
FOR DELETE
AS
DECLARE @cant_prod int;
DECLARE @prec_unit money;
BEGIN

SELECT @cant_prod = Q_CANTIDAD FROM DELETED 

SELECT @prec_unit = S_PRECIO_UNITARIO FROM PRODUCTO 
WHERE C_PRODUCTO = (SELECT C_PRODUCTO FROM DELETED)

update VENTA
SET S_VENTA_TOTAL = S_VENTA_TOTAL -  @cant_prod*@prec_unit
WHERE C_VENTA = (SELECT C_VENTA FROM DELETED)

END


-- probamos el trigger para un delete



DELETE FROM VENTA_DETALLE WHERE C_PRODUCTO = 10 AND C_VENTA=2


SELECT * FROM VENTA_DETALLE
SELECT * FROM VENTA







PREGUNTA 3






alter trigger tr_actStock on VENTA_DETALLE
for update
as
DECLARE @CANT INT
DECLARE @AUX INT
DECLARE @PROD INT
begin

if update(Q_CANTIDAD)
BEGIN

SELECT @AUX = Q_CANTIDAD FROM inserted
select @PROD = C_PRODUCTO FROM INSERTED
SELECT @CANT = Q_CANTIDAD FROM deleted
IF (@CANT - @AUX) != 0
BEGIN
UPDATE PRODUCTO
SET Q_STOCK = Q_STOCK + @CANT - @AUX
WHERE C_PRODUCTO = @PROD
END 
END
end


UPDATE VENTA_DETALLE 
SET Q_CANTIDAD = 10
WHERE C_PRODUCTO = 1


SELECT * FROM PRODUCTO
SELECT * FROM VENTA_DETALLE


ALTER TRIGGER TR_ACT_VENTOT ON VENTA_DETALLE
FOR DELETE
AS
DECLARE @cant_prod int;
DECLARE @prec_unit money;
BEGIN

SELECT @cant_prod = Q_CANTIDAD FROM DELETED 

SELECT @prec_unit = S_PRECIO_UNITARIO FROM PRODUCTO 
WHERE C_PRODUCTO = (SELECT C_PRODUCTO FROM DELETED)

update VENTA
SET S_VENTA_TOTAL = S_VENTA_TOTAL -  @cant_prod*@prec_unit
WHERE C_VENTA = (SELECT C_VENTA FROM DELETED)

END


DELETE FROM VENTA_DETALLE WHERE C_PRODUCTO = 10 AND C_VENTA=2
UPDATE VENTA SET S_VENTA_TOTAL = 1000 WHERE C_VENTA = 2
SELECT * FROM VENTA_DETALLE
SELECT * FROM VENTA


--3. Crear un trigger que actualice la cantidad de unidades que se tiene en stock 
--[Q_Stock] de la tabla Productos cuando el vendedor anule o elimine la compra 
--de uno de los productos en venta a un cliente.


create trigger Actualiza_stock on VENTA_DETALLE
for delete
as 
declare  @cantidad int;
begin 
       select @cantidad = Q_Cantidad from Deleted
       where  C_Producto = (select C_Producto from Deleted)
       update PRODUCTO
       SET Q_STOCK = Q_STOCK + @cantidad
       where C_PRODUCTO = (Select C_PRODUCTO from Deleted)
 end
 Select * from Venta_Detalle
 Select * from PRODUCTO

 DElete from VENTA_DETALLE where C_PRODUCTO = 12






PREGUNTA 4



ALTER PROCEDURE SP_Crea_cuenta @C_Client char(5), @Monto money
AS
BEGIN TRANSACTION
DECLARE @CTA CHAR(5)
DECLARE @CONT INT


SET @CTA = NULL
SELECT @CTA = MAX(C_CUENTA)
FROM CUENTA


IF @CTA = NULL
BEGIN


SET @CTA = 'C0001'
INSERT INTO CUENTA VALUES(@CTA, @C_Client, @Monto)
INSERT INTO MOVIMIENTO VALUES(@CTA,1,'10',@Monto,GETDATE())




END
ELSE
BEGIN


SET @CONT = CONVERT(INT,RIGHT(@CTA,4))
SET @CONT = @CONT+ 1
SET @CTA = 'C' + RIGHT('0000' + CONVERT(VARCHAR,@CONT),4)


INSERT INTO CUENTA VALUES(@CTA, @C_Client, @Monto)
INSERT INTO MOVIMIENTO VALUES(@CTA,1,'10',@Monto,GETDATE())


END
COMMIT


PREGUNTA 5
Retiro y deposito de un monto definido a una cuenta...


CREATE PROCEDURE DEPOSITA_MONTO @CUENTA CHAR(5), @MONTO MONEY
AS 
BEGIN TRANSACTION
  DECLARE @SALDO MONEY

-- LEER SALDO DE LA CUENTA
SELECT @SALDO = C.S_SALDO
FROM CUENTA C
WHERE C.C_CUENTA = @CUENTA

DECLARE @NRO_MOV INT
-- CALCULAR EL NRO_MOV SECUENCIAL 
SELECT @NRO_MOV = MAX(C_MOV) + 1
FROM MOVIMIENTO
WHERE C_CUENTA = @CUENTA

-- INSERTA EL NUEVO MOVIMIENTO
INSERT INTO MOVIMIENTO VALUES(@CUENTA,@NRO_MOV,'20',@MONTO,GETDATE())

-- ACTUALIZA EL SALDO
UPDATE CUENTA
SET S_SALDO = S_SALDO + @MONTO
WHERE C_CUENTA = @CUENTA

COMMIT  -- ACTUALIZA CAMBIOS "LA BD DEBE SER CONSISTENTE"
-------------------------------------------------------------------------------------------------------


-- USE AHORROS
CREATE PROCEDURE RETIRA_MONTO @CUENTA CHAR(5), @MONTO MONEY
AS 
BEGIN TRANSACTION
  DECLARE @SALDO MONEY

-- LEER SALDO DE LA CUENTA
SELECT @SALDO = C.S_SALDO
FROM CUENTA C
WHERE C.C_CUENTA = @CUENTA

-- VALIDA EL MONTO A RETIRAR
IF @MONTO > @SALDO 
ROLLBACK -- SOLO SI SE REALIZARON CAMBIOS
ELSE 
BEGIN
DECLARE @NRO_MOV INT
-- CALCULAR EL NRO_MOV SECUENCIAL 
SELECT @NRO_MOV = MAX(C_MOV) + 1
FROM MOVIMIENTO
WHERE C_CUENTA = @CUENTA

-- INSERTA EL NUEVO MOVIMIENTO
INSERT INTO MOVIMIENTO VALUES(@CUENTA,@NRO_MOV,'30',@MONTO,GETDATE())

-- ACTUALIZA EL SALDO
UPDATE CUENTA
SET S_SALDO = S_SALDO - @MONTO
WHERE C_CUENTA = @CUENTA

COMMIT  -- ACTUALIZA CAMBIOS "LA BD DEBE SER CONSISTENTE"
END







PREGUNTA 6
SOLUCIÓN

Para esta pregunta creamos los procedimientos almacenados adicionales DEPOSITA_MONTO y 
RETIRA_MONTO



CREATE PROCEDURE SP_TRANSF_FIN @monto money, @cuenta_orig char(5),@cuenta_dest char(5)
AS
BEGIN TRANSACTION
  DECLARE @SALDO MONEY
  DECLARE @MONTO_TOTAL MONEY

-- LEER SALDO DE LA CUENTA
SELECT @SALDO = C.S_SALDO
FROM CUENTA C
WHERE C.C_CUENTA = @cuenta_orig

-- CALCULO DE COMISIONES
DECLARE @ITF MONEY
DECLARE @COMISION MONEY

SET @ITF = @monto*0.008
SET @COMISION = 0

IF @cuenta_dest != @cuenta_orig
BEGIN
--CALCULAMOS LA COMISION
IF(@monto<1000)
BEGIN
SET @COMISION = 5
END
ELSE SET @COMISION = @monto*0.05
END

SET @MONTO_TOTAL = @monto + @ITF + @COMISION
IF @SALDO < @MONTO_TOTAL
ROLLBACK
ELSE 
BEGIN TRANSACTION
EXEC RETIRA_MONTO @cuenta_orig , @MONTO_TOTAL
EXEC DEPOSITA_MONTO @cuenta_dest, @MONTO_TOTAL

EXEC DEPOSITA_MONTO 'ITF02',@ITF
EXEC DEPOSITA_MONTO 'M0002',@COMISION
COMMIT
COMMIT




EXEC SP_TRANSF_FIN 500,'C0001','C0002'


SELECT * FROM CUENTA
SELECT * FROM MOVIMIENTO


-- Aqui vemos los resultados la cuenta C0001 estaba inicialmente con un sado de 1000 y la cuenta C0002 estaba 0 soles...






jueves, 23 de junio de 2011

Tarea No 6 :: Procedimientos en Sql Server 2008

Hola ahora veremos los procedimientos almacenados (Stored Procedures) en SQL - SERVER 2008.


PROCEDIMIENTOS:




Un Store Procedure es un elemento de base de datos reutilizable almacenado que realiza alguna operación en la base de datos. 
Contiene código SQL que puede, entre otras cosas, insertar, actualizar o eliminar registros. 
Los procedimientos almacenados pueden alterar la estructura de la base de datos. Por ejemplo, se puede utilizar un procedimiento almacenado para añadir una columna de tabla o borrar una tabla. 
Un Store Procedure también puede llamar a otro Store Procedure, así como aceptar entradas y devolver múltiples valores al procedimiento llamado en forma de parámetros de salida.




--CREAMOS UN PROCEDIMIENTO ALMACENADO PARA INSERTAR UN NUEVO JUGADOR EN LA TABLA JUGADORES

CREATE PROCEDURE REGISTRAR_JUG @cod_jug char(3), @nom_jug varchar(220), @fec_naci date
AS
-- USAMOS UN TRY CATCH PARA CAPTURAR LOS POSIBLES ERRORES
BEGIN TRY


INSERT INTO JUGADOR(C_JUGADOR,N_JUGADOR,D_NACIMIENTO)
VALUES(@cod_jug,@nom_jug,@fec_naci)


END TRY
BEGIN CATCH
ROLLBACK
PRINT ERROR_MESSAGE()
END CATCH


-- ejecutamos el procedimiento almacenado la consulta


EXEC REGISTRAR_JUG 'J30','JUAN CARLOS', '10/10/2010'
PRINT ERROR_MESSAGE();








Ahora implementaremos un procedimiento que liste los jugadores de un Equipo en la Base de Datos CAMPEONATO






--Este procedimiento lista todos los jugadores que 
--integraron un equipo en particular


CREATE PROCEDURE SP_JUGXEQUIP @COD_EQUIP CHAR(2)
AS
BEGIN



-- la sentencia as puede obviarse para el renombramiento
-- el uso de distinct es para que no se repitan los datos -- iguales


SELECT distinct J.C_JUGADOR, J.N_JUGADOR, JEC.C_EQUIPO, E.N_EQUIPO FROM dbo.JUGADOR AS
JOIN dbo.JUG_X_EQ_X_CAMP AS JEC ON J.C_JUGADOR = JEC.C_JUGADOR 
JOIN dbo.EQUIPO AS E ON JEC.C_EQUIPO = E.C_EQUIPO
WHERE JEC.C_EQUIPO = @COD_EQUIP
END

-- ejecutamos el Store Procedure para que liste todos los jugadores que alguna vez formaron 
--parte del equipo, en este caso, E2

EXEC SP_JUGXEQUIP 'E2'






Aqui podemos observar el resultado.




Crearemos un procedimiento que registre los movimientos realizados por un jugador y su comentario en la BASE DE DATOS AJEDREZ




-- procedimiento que inserta un movimiento en la tabla movimiento

create procedure SP_InsertarMov @Nro_Orden int, @Nro_partida int, @nom_ficha nvarchar(10),
@pos_ini varchar(7),@pos_fin varchar(7),@comentario varchar(50)
as
begin try
insert into MOVIMIENTO 
values (@Nro_Orden, @Nro_partida, @nom_ficha,@pos_ini,@pos_fin ,@comentario)
end try
begin catch
print error_message()
end catch


execute SP_InsertarMov 1,1,'caballo','2,4','3,7','mal movimiento'


ejecutamos el procedimiento almacenado y vemos como se ha insertado los valores en la tabla movimiento




















miércoles, 22 de junio de 2011

Tarea No 6 :: Funciones en Sql Server 2008

Hola esta es la tarea numero 6 en donde realizamos funciones y procedimiento. En este post veremos las funciones.


FUNCIÓN: Una funcion es una porción de codigo que puede ser reutilizada por diferentes programas. Las funciones, como en programacion, devuelven un valor, que pueden ser en este caso una escalar o un dato estructurado. Por ejemplo el numero de alumnos matriculados, o una tabla que contiene la lista de todos los alumnos matriculados en determinado ciclo. 
A continuación mostraremos algunos ejemplos:


-- CREA LA FUNCION CANT_PARTICIPANTES DEVUELVE EL NUMERO DE PARTICIPANTES INSCRITOS EN EL CAMPEONATO
-- AJEDREZ

CREATE FUNCTION CANT_PARTICIPANTES()
RETURNS INT
AS
BEGIN

   DECLARE @CANT INT
   SELECT @CANT = COUNT(*)  FROM PARTICIPANTE
 
   RETURN @CANT
END


CREATE FUNCTION LIST_PARTICIPANTES()


RETURNS TABLE -- en este caso retorna una tabla
AS
RETURN (SELECT * FROM PARTICIPANTE)


-- ejecutamos las funciones 



SELECT dbo.CANT_PARTICIPANTES() 'CANT PARTICIPANTES'
SELECT * FROM LIST_PARTICIPANTES()


Nombramos la columna resultante de la primera consulta como : CANT PARTICIPANTES
El resultado es el siguiente:





Ahora mostraremos mas ejemplos pero en la base de datos: Campeonato...










-- Creamos una funcion que devuelva el numero de equipos --- en los que jugo un determinado jugador
create function num_equip_de_jug(@c_jugador char(3))
returns int
as
begin
declare @num_equip int

select @num_equip = COUNT(*) from JUG_X_EQ_X_CAMP   jec  where jec.C_JUGADOR = @c_jugador

return @num_equip
end




-- Esta funcion devuelve una tabla con la lista de todos los equipos en los que jugó un jugador 


create function list_equip(@cod_jugador char(3))
returns table
as
-- con la clausula distinc evitamos las repeticiones
return (select distinct (C_EQUIPO) from JUG_X_EQ_X_CAMP where C_JUGADOR = @cod_jugador)


--probamos las funciones
select * from dbo.list_equip('J01')
select dbo.num_equip_de_jug('J01') 'Num Equip por Jugador'








Ahora veremos los procedimientos almacenados

miércoles, 8 de junio de 2011

Tarea No 5 :: Sentencias DML (Data Manipulation Language)

Hola esta la tarea # 5  en donde aprenderemos algunas sentencias de Lenguaje de manipulación de datos.

Trabajaremos con la BD Campeonato, la cual ya hemos visto en posts anteriores y cuyos script también están colgados para poder descargarlos.

SENTENCIA: JOIN


SELECT *
FROM JUGADOR J JOIN JUGADOR_X_PARTIDO JXP
ON J.C_JUGADOR = JXP.C_JUGADOR




SELECT J.C_JUGADOR,J.N_JUGADOR, JXP.NRO_PARTIDO, JXP.NRO_CAMISETA
FROM JUGADOR J JOIN JUGADOR_X_PARTIDO JXP
ON J.C_JUGADOR = JXP.C_JUGADOR
WHERE JXP.F_AMONESTADO = 'S'


SENTENCIA: GROUP BY
Esta sentencia permite ordenar los datos resultantes de acuerdo a un parametro determinado.

SELECT J.C_JUGADOR,J.N_JUGADOR, JXP.NRO_PARTIDO, JXP.NRO_CAMISETA
FROM JUGADOR J JOIN JUGADOR_X_PARTIDO JXP ON J.C_JUGADOR = JXP.C_JUGADOR
WHERE JXP.F_AMONESTADO = 'S' 
ORDER BY J.N_JUGADOR

Este query selecciona todas las veces que un jugador fue amonestado ordenado por el nombre del jugador.





SENTENCIA: HAVING



select jxp.C_JUGADOR, COUNT (*) as cant_part from JUGADOR_X_PARTIDO jxp
group by jxp.C_JUGADOR having COUNT(*) > 0 
order by jxp.C_JUGADOR desc


Este query nos permite seleccionar la columna código de jugador, asignando una columna (cant_part) count la cual cuenta todas las ocurrencias de un código de jugador, es decir las veces que un jugador a jugado un partido.  Agrupado por C_JUGADOR teniendo al COUNT mayor que 0, es decir a todos los jugadores que han jugado mas de 0 partidos, y los ordena por el Código de jugador de manera decreciente (desc).

martes, 7 de junio de 2011

Campeonato de Fútbol en MySql Server 5.1

Hola a todos en este post crearemos y llenaremos las tablas del ejercicio Campeonato en MySql 5.1.
El código es casi el mismo que Sql Server, salvo algunas pequeñas diferencias.



Les dejo el Script en MySql donde se encuentra el codigo para la creacion de las tablas, lo pueden bajar haciendo clic aquí

El llenado de tablas se realiza a traves de la instruccion:

INSERT  INTO [nombre de la tabla] VALUES  (valor1, valor2 ,....)

por ejemplo para insertar datos a la tabla Jugador:

INSERT INTO JUGADOR (C_JUGADOR,N_JUGADOR) VALUES
('J01','WALDIR SAENZ'),
('J02','JOSE CARRANZA'),
('J03','JUAN PEREZ'),
('J04','CHECHO IBARRA'),
('J05','CHEMO DEL SOLAR'),
('J06','RAYMOND MANCO'),
('J07','FOCA FARFAN'),
('J08','RANA HUERTAS'),
('J09','CULEBRA OREJUELA'),
('J10','PEPE SOTO'),
('J11','CHORRI PALACIOS'),
('J12','LABRUJA VERON'),
('J13','TECLA FARIAS'),
('J14','LOCO VARGAS'),
('J15','CHOLITO SOTIL'),
('J16','LECHUGA ROA'),
('J17','CHATO TORRES'),
('J18','PULGA MESSI'),
('J19','MAGO MARKARIAN'),
('J20','PACO ELFLACO');


Les dejo también el script con algunos datos para llenar en las tablas. descargar aquí

Comprobamos el llenado con una sentencia simple: SELECT ..  FROM en este caso para la tabla jugador.
escribimos SELECT * FROM jugador y luego crtl + enter para ejecutar.


viernes, 3 de junio de 2011

Ejercicio: Campeonato de Futbol_ en SQL-Server 2008

Hola a todos este es el desarrollo del ejercicio campeonato de futbol, migrar manualmente el modelo Erwin a diferentes gestores de Base de Datos (Sql Server, MySql, PostgreSql y Oracle).

EL MODELO ERWIN



MIGRAR A SQL-SERVER 2008

Primero creamos las tablas con los modelos CREATE TABLE y ALTER TABLE para ingresar las llaves
primarias y foráneas.


CREATE TABLE CAMPEONATO (
       C_CAMPEONATO char(3) NOT NULL,
       N_CAMPENATO varchar(220),
       Q_PARTIDOS  INT,
PRIMARY KEY (C_CAMPEONATO))


CREATE TABLE EQUIPO (
       C_EQUIPO char(2) NOT NULL,
       N_EQUIPO varchar(220),
PRIMARY KEY (C_EQUIPO))




CREATE TABLE ESTADIO (
       C_ESTADIO  char(3) NOT NULL,
       N_ESTADIO  varchar(220),
PRIMARY KEY (C_ESTADIO))


CREATE TABLE JUG_X_EQ_X_CAMP (
       C_JUGADOR    char(3) NOT NULL,
       C_CAMPEONATO char(3) NOT NULL,
       C_EQUIPO     char(2),
PRIMARY KEY (C_JUGADOR, C_CAMPEONATO))


CREATE TABLE JUGADOR (
       C_JUGADOR char(3) NOT NULL,
       N_JUGADOR  varchar(220),
       D_NACIMIENTO DATE,
PRIMARY KEY (C_JUGADOR))


CREATE TABLE JUGADOR_X_PARTIDO (
       C_JUGADOR    char(3) NOT NULL,
       NRO_PARTIDO  INT NOT NULL,
       N_POSICION   varchar(220),
       NRO_CAMISETA INT,
       F_EXPULSADO  char(1),
       F_AMONESTADO char(1),
       F_GOLEADOR   char(1),
PRIMARY KEY (C_JUGADOR, NRO_PARTIDO))






CREATE TABLE PARTIDO (
       NRO_PARTIDO       INT NOT NULL,
       C_ESTADIO         char(3) NOT NULL,
       C_EQUIPO_2        char(2) NOT NULL,
       C_CAMPEONATO      char(3) NOT NULL,
       C_EQUIPO_1        char(2) NOT NULL,
       D_PARTIDO         DATE,
       N_JUEZ_LINEA2     varchar(220),
       N_JUEZ_LINEA1     varchar(250),
       Q_GOLES_E1        INT,
       Q_GOLES_E2        INT,
       N_ARBITRO         varchar(220),
       C_RESULTADO       varchar(20),
PRIMARY KEY (NRO_PARTIDO))

ALTER TABLE JUG_X_EQ_X_CAMP
       ADD FOREIGN KEY (C_JUGADOR)
                             REFERENCES JUGADOR
ALTER TABLE JUG_X_EQ_X_CAMP
       ADD  FOREIGN KEY (C_EQUIPO)
                             REFERENCES EQUIPO
ALTER TABLE JUG_X_EQ_X_CAMP
       ADD  FOREIGN KEY (C_CAMPEONATO)
                             REFERENCES CAMPEONATO
ALTER TABLE JUGADOR_X_PARTIDO
       ADD  FOREIGN KEY (NRO_PARTIDO)
                             REFERENCES PARTIDO
ALTER TABLE JUGADOR_X_PARTIDO
       ADD  FOREIGN KEY (C_JUGADOR)
                             REFERENCES JUGADOR
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_ESTADIO)
                             REFERENCES ESTADIO
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_EQUIPO_1)
                             REFERENCES EQUIPO
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_EQUIPO_2)
                             REFERENCES EQUIPO
ALTER TABLE PARTIDO
       ADD  FOREIGN KEY (C_CAMPEONATO)
                             REFERENCES CAMPEONATO
Ejecutamos el query y se crearan las tablas:



INSERT INTO EQUIPO VALUES
('E1','ALIANZA LIMA'),
('E2','UNIVERSITARIO'),
('E3','SPORT ANCASH'),
('E4','CRISAL'),
('E5','BOYS')

INSERT INTO CAMPEONATO(N_CAMPENATO,C_CAMPEONATO,Q_PARTIDOS) VALUES
('APERTURA 2011', 'A11',24),
('APERTURA 2010', 'A10',32),
('CLAUSURA 2010', 'C10',28),
('CLAUSURA 2011', 'C11',19)

INSERT INTO JUGADOR (C_JUGADOR,N_JUGADOR) VALUES
('J01','WALDIR SAENZ'),
('J02','JOSE CARRANZA'),
('J03','JUAN PEREZ'),
('J04','CHECHO IBARRA'),
('J05','CHEMO DEL SOLAR'),
('J06','RAYMOND MANCO'),
('J07','FOCA FARFAN'),
('J08','RANA HUERTAS'),
('J09','CULEBRA OREJUELA'),
('J10','PEPE SOTO'),
('J11','CHORRI PALACIOS'),
('J12','LABRUJA VERON'),
('J13','TECLA FARIAS'),
('J14','LOCO VARGAS'),
('J15','CHOLITO SOTIL'),
('J16','LECHUGA ROA'),
('J17','CHATO TORRES'),
('J18','PULGA MESSI'),
('J19','MAGO MARKARIAN'),
('J20','PACO ELFLACO')


INSERT INTO JUG_X_EQ_X_CAMP VALUES
('J01','A10','E1'),
('J02','A10','E1'),
('J03','A10','E1'),
('J04','A10','E1'),
('J05','A10','E1'),

('J06','A10','E2'),
('J07','A10','E2'),
('J08','A10','E2'),
('J09','A10','E2'),
('J10','A10','E2'),