Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Procedimiento PL/SQL

Estas en el tema de Procedimiento PL/SQL en el foro de Oracle en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/02/2013, 15:08
 
Fecha de Ingreso: febrero-2013
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Procedimiento PL/SQL

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.
Código SQL:
Ver original
  1. --------------------------------------------------------
  2. DROP TABLE "CICLISTA" cascade constraints;
  3. DROP TABLE "EQUIPO" cascade constraints;
  4. DROP TABLE "ETAPA" cascade constraints;
  5. DROP TABLE "LLEVAR" cascade constraints;
  6. DROP TABLE "MAILLOT" cascade constraints;
  7. DROP TABLE "PUERTO" cascade constraints;
  8. --------------------------------------------------------
  9. -- DDL for Table CICLISTA
  10. --------------------------------------------------------
  11.  
  12. CREATE TABLE "CICLISTA"
  13. ( "DORSAL" NUMBER(3,0),
  14. "NOMBRE" VARCHAR2(30),
  15. "EDAD" NUMBER(2,0),
  16. "NOMEQUIPO" VARCHAR2(25)
  17. ) ;
  18. --------------------------------------------------------
  19. -- DDL for Table EQUIPO
  20. --------------------------------------------------------
  21.  
  22. CREATE TABLE "EQUIPO"
  23. ( "NOMEQUIPO" VARCHAR2(25),
  24. "DIRECTOR" VARCHAR2(100)
  25. ) ;
  26. --------------------------------------------------------
  27. -- DDL for Table ETAPA
  28. --------------------------------------------------------
  29.  
  30. CREATE TABLE "ETAPA"
  31. ( "NUMETAPA" NUMBER(2,0),
  32. "KMS" NUMBER(3,0),
  33. "SALIDA" VARCHAR2(35),
  34. "LLEGADA" VARCHAR2(35),
  35. "DORSAL" NUMBER(3,0)
  36. ) ;
  37. --------------------------------------------------------
  38. -- DDL for Table LLEVAR
  39. --------------------------------------------------------
  40.  
  41. CREATE TABLE "LLEVAR"
  42. ( "DORSAL" NUMBER(3,0)
  43. "CODIGO" CHAR(3),
  44. "NUMETAPA" NUMBER(2,0),
  45.  
  46. ) ;
  47. --------------------------------------------------------
  48. -- DDL for Table MAILLOT
  49. --------------------------------------------------------
  50.  
  51. CREATE TABLE "MAILLOT"
  52. ( "CODIGO" CHAR(3),
  53. "TIPO" VARCHAR2(30),
  54. "COLOR" VARCHAR2(20),
  55. "PREMIO" NUMBER(7,0)
  56. ) ;
  57. --------------------------------------------------------
  58. -- DDL for Table PUERTO
  59. --------------------------------------------------------
  60.  
  61. CREATE TABLE "PUERTO"
  62. ( "NOMPUERTO" VARCHAR2(35),
  63. "ALTURA" NUMBER(4,0),
  64. "CATEGORIA" CHAR(1),
  65. "PENDIENTE" NUMBER(3,2),
  66. "NUMETAPA" NUMBER(2,0),
  67. "DORSAL" NUMBER(3,0)
  68. ) ;
  69. -- DDL for Index PK_CICLI
  70. --------------------------------------------------------
  71.  
  72. CREATE UNIQUE INDEX "PK_CICLI" ON "CICLISTA" ("DORSAL")
  73. ;
  74. --------------------------------------------------------
  75. -- DDL for Index PK_EQUI
  76. --------------------------------------------------------
  77.  
  78. CREATE UNIQUE INDEX "PK_EQUI" ON "EQUIPO" ("NOMEQUIPO")
  79. ;
  80. --------------------------------------------------------
  81. -- DDL for Index PK_ETA
  82. --------------------------------------------------------
  83.  
  84. CREATE UNIQUE INDEX "PK_ETA" ON "ETAPA" ("NUMETAPA")
  85. ;
  86. --------------------------------------------------------
  87. -- DDL for Index PK_LLE
  88. --------------------------------------------------------
  89.  
  90. CREATE UNIQUE INDEX "PK_LLE" ON "LLEVAR" ("NUMETAPA", "CODIGO")
  91. ;
  92. --------------------------------------------------------
  93. -- DDL for Index PK_MAI
  94. --------------------------------------------------------
  95.  
  96. CREATE UNIQUE INDEX "PK_MAI" ON "MAILLOT" ("CODIGO")
  97. ;
  98. --------------------------------------------------------
  99. -- DDL for Index PK_PUERTO
  100. --------------------------------------------------------
  101.  
  102. CREATE UNIQUE INDEX "PK_PUERTO" ON "PUERTO" ("NOMPUERTO")
  103. ;
  104. --------------------------------------------------------
  105. -- Constraints for Table CICLISTA
  106. --------------------------------------------------------
  107.  
  108. ALTER TABLE "CICLISTA" ADD CONSTRAINT "PK_CICLI" PRIMARY KEY ("DORSAL") ENABLE;
  109.  
  110. ALTER TABLE "CICLISTA" MODIFY ("DORSAL" NOT NULL ENABLE);
  111.  
  112. ALTER TABLE "CICLISTA" MODIFY ("NOMBRE" NOT NULL ENABLE);
  113. --------------------------------------------------------
  114. -- Constraints for Table EQUIPO
  115. --------------------------------------------------------
  116.  
  117. ALTER TABLE "EQUIPO" ADD CONSTRAINT "PK_EQUI" PRIMARY KEY ("NOMEQUIPO") ENABLE;
  118.  
  119. ALTER TABLE "EQUIPO" MODIFY ("NOMEQUIPO" NOT NULL ENABLE);
  120. --------------------------------------------------------
  121. -- Constraints for Table ETAPA
  122. --------------------------------------------------------
  123.  
  124. ALTER TABLE "ETAPA" ADD CONSTRAINT "PK_ETA" PRIMARY KEY ("NUMETAPA") ENABLE;
  125.  
  126. ALTER TABLE "ETAPA" MODIFY ("NUMETAPA" NOT NULL ENABLE);
  127. --------------------------------------------------------
  128. -- Constraints for Table LLEVAR
  129. --------------------------------------------------------
  130.  
  131. ALTER TABLE "LLEVAR" ADD CONSTRAINT "PK_LLE" PRIMARY KEY ("NUMETAPA", "CODIGO") ENABLE;
  132.  
  133. ALTER TABLE "LLEVAR" MODIFY ("CODIGO" NOT NULL ENABLE);
  134.  
  135. ALTER TABLE "LLEVAR" MODIFY ("NUMETAPA" NOT NULL ENABLE);
  136.  
  137. ALTER TABLE "LLEVAR" MODIFY ("DORSAL" NOT NULL ENABLE);
  138. --------------------------------------------------------
  139. -- Constraints for Table MAILLOT
  140. --------------------------------------------------------
  141.  
  142. ALTER TABLE "MAILLOT" ADD CONSTRAINT "PK_MAI" PRIMARY KEY ("CODIGO") ENABLE;
  143.  
  144. ALTER TABLE "MAILLOT" MODIFY ("CODIGO" NOT NULL ENABLE);
  145. --------------------------------------------------------
  146. -- Constraints for Table PUERTO
  147. --------------------------------------------------------
  148.  
  149. ALTER TABLE "PUERTO" ADD CONSTRAINT "PK_PUERTO" PRIMARY KEY ("NOMPUERTO") ENABLE;
  150.  
  151. ALTER TABLE "PUERTO" MODIFY ("NOMPUERTO" NOT NULL ENABLE);
  152.  
  153. ALTER TABLE "PUERTO" MODIFY ("NUMETAPA" NOT NULL ENABLE);
  154. --------------------------------------------------------
  155. -- Ref Constraints for Table CICLISTA
  156. --------------------------------------------------------
  157.  
  158. ALTER TABLE "CICLISTA" ADD CONSTRAINT "FK_CICLI_EQUI" FOREIGN KEY ("NOMEQUIPO")
  159. REFERENCES "EQUIPO" ("NOMEQUIPO") ENABLE;
  160. --------------------------------------------------------
  161. -- Ref Constraints for Table ETAPA
  162. --------------------------------------------------------
  163.  
  164. ALTER TABLE "ETAPA" ADD CONSTRAINT "FK_ETAPA_CICLI" FOREIGN KEY ("DORSAL")
  165. REFERENCES "CICLISTA" ("DORSAL") ENABLE;
  166. --------------------------------------------------------
  167. -- Ref Constraints for Table LLEVAR
  168. --------------------------------------------------------
  169.  
  170. ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_CICLI" FOREIGN KEY ("DORSAL")
  171. REFERENCES "CICLISTA" ("DORSAL") ENABLE;
  172.  
  173. ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_ETAPA" FOREIGN KEY ("NUMETAPA")
  174. REFERENCES "ETAPA" ("NUMETAPA") ENABLE;
  175.  
  176. ALTER TABLE "LLEVAR" ADD CONSTRAINT "FK_LLEVAR_MAI" FOREIGN KEY ("CODIGO")
  177. REFERENCES "MAILLOT" ("CODIGO") ENABLE;
  178. --------------------------------------------------------
  179. -- Ref Constraints for Table PUERTO
  180. --------------------------------------------------------
  181.  
  182. ALTER TABLE "PUERTO" ADD CONSTRAINT "FK_PUERTO_CICLI" FOREIGN KEY ("DORSAL")
  183. REFERENCES "CICLISTA" ("DORSAL") ENABLE;
  184.  
  185. ALTER TABLE "PUERTO" ADD CONSTRAINT "FK_PUERTO_ETA" FOREIGN KEY ("NUMETAPA")
  186. REFERENCES "ETAPA" ("NUMETAPA") ENABLE;

Última edición por gnzsoloyo; 17/02/2013 a las 15:21

Etiquetas: pl-sql, procedimiento, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:08.