SQL - Ayuda para resolver este procedimiento.

   
Vista:

Ayuda para resolver este procedimiento.

Publicado por antonio (1 intervención) el 17/02/2013 21:58:57
Hola compañeros , me gustaría que alguien me ayudara a resolver este procedimiento , la verdad es que no se como hacerlo y por más que le doy vueltas no se por donde empezar.
PLS/SQL
Crear un procedimiento que rellene una tabla llamada GANANCIAS – la tabla se crea previamente vacía-, almacene la información procedente de las tablas ciclista, etapa, puerto y llevar (si un ciclista no ha ganado nada NO se inserta el registro en la tabla
GANANCIAS):
1. Nombre del ciclista.
2. Número de etapas ganadas.
3. Veces que ha llevado cada maillot (puede no haber llevado ninguno o
varios).
4. Ganancias obtenidas, si por cada etapa ganada se le da un premio de 1000 €,
por cada puerto 500 € y por cada día que ha llevado un maillot obtiene un
premio de 100 €.

Este procedimiento se creará a partir de la siguiente diseño de base de datos.
--------------------------------------------------------
DROP TABLE "CICLISTA" cascade constraints;
DROP TABLE "EQUIPO" cascade constraints;
DROP TABLE "ETAPA" cascade constraints;
DROP TABLE "LLEVAR" cascade constraints;
DROP TABLE "MAILLOT" cascade constraints;
DROP TABLE "PUERTO" cascade constraints;
--------------------------------------------------------
-- DDL for Table CICLISTA
--------------------------------------------------------

CREATE TABLE "CICLISTA"
( "DORSAL" NUMBER(3,0),
"NOMBRE" VARCHAR2(30),
"EDAD" NUMBER(2,0),
"NOMEQUIPO" VARCHAR2(25)
) ;
--------------------------------------------------------
-- DDL for Table EQUIPO
--------------------------------------------------------

CREATE TABLE "EQUIPO"
( "NOMEQUIPO" VARCHAR2(25),
"DIRECTOR" VARCHAR2(100)
) ;
--------------------------------------------------------
-- DDL for Table ETAPA
--------------------------------------------------------

CREATE TABLE "ETAPA"
( "NUMETAPA" NUMBER(2,0),
"KMS" NUMBER(3,0),
"SALIDA" VARCHAR2(35),
"LLEGADA" VARCHAR2(35),
"DORSAL" NUMBER(3,0)
) ;
--------------------------------------------------------
-- DDL for Table LLEVAR
--------------------------------------------------------

CREATE TABLE "LLEVAR"
( "DORSAL" NUMBER(3,0)
"CODIGO" CHAR(3),
"NUMETAPA" NUMBER(2,0),

) ;
--------------------------------------------------------
-- DDL for Table MAILLOT
--------------------------------------------------------

CREATE TABLE "MAILLOT"
( "CODIGO" CHAR(3),
"TIPO" VARCHAR2(30),
"COLOR" VARCHAR2(20),
"PREMIO" NUMBER(7,0)
) ;
--------------------------------------------------------
-- DDL for Table PUERTO
--------------------------------------------------------

CREATE TABLE "PUERTO"
( "NOMPUERTO" VARCHAR2(35),
"ALTURA" NUMBER(4,0),
"CATEGORIA" CHAR(1),
"PENDIENTE" NUMBER(3,2),
"NUMETAPA" NUMBER(2,0),
"DORSAL" NUMBER(3,0)
) ;
-- DDL for Index PK_CICLI
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_CICLI" ON "CICLISTA" ("DORSAL")
;
--------------------------------------------------------
-- DDL for Index PK_EQUI
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_EQUI" ON "EQUIPO" ("NOMEQUIPO")
;
--------------------------------------------------------
-- DDL for Index PK_ETA
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_ETA" ON "ETAPA" ("NUMETAPA")
;
--------------------------------------------------------
-- DDL for Index PK_LLE
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_LLE" ON "LLEVAR" ("NUMETAPA", "CODIGO")
;
--------------------------------------------------------
-- DDL for Index PK_MAI
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_MAI" ON "MAILLOT" ("CODIGO")
;
--------------------------------------------------------
-- DDL for Index PK_PUERTO
--------------------------------------------------------

CREATE UNIQUE INDEX "PK_PUERTO" ON "PUERTO" ("NOMPUERTO")
;
--------------------------------------------------------
-- Constraints for Table CICLISTA
--------------------------------------------------------

ALTER TABLE "CICLISTA" ADD CONSTRAINT "PK_CICLI" PRIMARY KEY ("DORSAL") ENABLE;

ALTER TABLE "CICLISTA" MODIFY ("DORSAL" NOT NULL ENABLE);

ALTER TABLE "CICLISTA" MODIFY ("NOMBRE" NOT NULL ENABLE);
--------------------------------------------------------
-- Constraints for Table EQUIPO
--------------------------------------------------------

ALTER TABLE "EQUIPO" ADD CONSTRAINT "PK_EQUI" PRIMARY KEY ("NOMEQUIPO") ENABLE;

ALTER TABLE "EQUIPO" MODIFY ("NOMEQUIPO" NOT NULL ENABLE);
--------------------------------------------------------
-- Constraints for Table ETAPA
--------------------------------------------------------

ALTER TABLE "ETAPA" ADD CONSTRAINT "PK_ETA" PRIMARY KEY ("NUMETAPA") ENABLE;

ALTER TABLE "ETAPA" MODIFY ("NUMETAPA" NOT NULL ENABLE);
--------------------------------------------------------
-- Constraints for Table LLEVAR
--------------------------------------------------------

ALTER TABLE "LLEVAR" ADD CONSTRAINT "PK_LLE" PRIMARY KEY ("NUMETAPA", "CODIGO") ENABLE;

ALTER TABLE "LLEVAR" MODIFY ("CODIGO" NOT NULL ENABLE);

ALTER TABLE "LLEVAR" MODIFY ("NUMETAPA" NOT NULL ENABLE);

ALTER TABLE "LLEVAR" MODIFY ("DORSAL" NOT NULL ENABLE);
--------------------------------------------------------
-- Constraints for Table MAILLOT
--------------------------------------------------------

ALTER TABLE "MAILLOT" ADD CONSTRAINT "PK_MAI" PRIMARY KEY ("CODIGO") ENABLE;

ALTER TABLE "MAILLOT" MODIFY ("CODIGO" NOT NULL ENABLE);
--------------------------------------------------------
-- Constraints for Table PUERTO
--------------------------------------------------------

ALTER TABLE "PUERTO" ADD CONSTRAINT "PK_PUERTO" PRIMARY KEY ("NOMPUERTO") ENABLE;

ALTER TABLE "PUERTO" MODIFY ("NOMPUERTO" NOT NULL ENABLE);

ALTER TABLE "PUERTO" MODIFY ("NUMETAPA" NOT NULL ENABLE);
--------------------------------------------------------
-- Ref Constraints for Table CICLISTA
--------------------------------------------------------

ALTER TABLE "CICLISTA" ADD CONSTRAINT "FK_CICLI_EQUI" FOREIGN KEY ("NOMEQUIPO")
REFERENCES "EQUIPO" ("NOMEQUIPO") ENABLE;
--------------------------------------------------------
-- Ref Constraints for Table ETAPA
--------------------------------------------------------

ALTER TABLE "ETAPA" ADD CONSTRAINT "FK_ETAPA_CICLI" FOREIGN KEY ("DORSAL")
REFERENCES "CICLISTA" ("DORSAL") ENABLE;
--------------------------------------------------------
-- Ref Constraints for Table LLEVAR
--------------------------------------------------------

ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_CICLI" FOREIGN KEY ("DORSAL")
REFERENCES "CICLISTA" ("DORSAL") ENABLE;

ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_ETAPA" FOREIGN KEY ("NUMETAPA")
REFERENCES "ETAPA" ("NUMETAPA") ENABLE;

ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_MAI" FOREIGN KEY ("CODIGO")
REFERENCES "MAILLOT" ("CODIGO") ENABLE;
--------------------------------------------------------
-- Ref Constraints for Table PUERTO
--------------------------------------------------------

ALTER TABLE "PUERTO" ADD CONSTRAINT "FK_PUERTO_CICLI" FOREIGN KEY ("DORSAL")
REFERENCES "CICLISTA" ("DORSAL") ENABLE;

ALTER TABLE "PUERTO" ADD CONSTRAINT "FK_PUERTO_ETA" FOREIGN KEY ("NUMETAPA")
REFERENCES "ETAPA" ("NUMETAPA") ENABLE;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Ayuda para resolver este procedimiento.

Publicado por Isaias (690 intervenciones) el 18/02/2013 23:19:22
¿Es una tarea de escuela?

Te recuerdo que los foros no son para tal fin.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar