SQL - sql dinamico

 
Vista:
sin imagen de perfil

sql dinamico

Publicado por susana (1 intervención) el 31/01/2007 22:04:37
please! helpme!
tengo:
tabla deportes :deporte
tabla alumnos:dni,nombre,edad
crear una tabla cuyos columnas estan formados por los dni de alumnos ordenados de menor a mayor, y una fila que contendrá el puntaje obtenido por competencia, que sera de acuerdo a los grupos por edad=25 otro grupo de entre 25 y 35, y otro de los mayores a 35.
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

RE:sql dinamico

Publicado por Isaías (5072 intervenciones) el 31/01/2007 23:18:27
¿Cual es el problema?, ¿Que relacion existen entre las tablas DEPORTE y ALUMNOS?
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

RE:sql dinamico

Publicado por susana (2 intervenciones) el 01/02/2007 13:30:34
El problema es que tengo que hacerlo con sql dinamico y nose
como??????? entre las tablas deporte y alumnos no hay. Me tiene que quedar la estructura de una tabla que tenga como encabezados de columna los dni de la tabla alumnos y el nombre de la tabla es el deporte de la tabla deportes.
por ej:

tabla: salto_en_largo
dni_12354657 dni_21475896 dni_35410257 .........
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
sin imagen de perfil

RE:sql dinamico

Publicado por Liliana (426 intervenciones) el 01/02/2007 14:37:33
Hola Susana,
Permiso Isaías...
Como creo que no tengo toda la información con respecto a tus necesidades, me animo a sugerirte otra cosa, mucho más simple de manejar que lo que estás proponiendo.
Una tabla así¨:

DNI Deporte Fecha Puntuación
12345 Salto en alto 2007-02-01 9.58
23456 Jabalina 2007-02-02 8.97

Por ejemplo. Esto te daría la posibilidad de tener toda la información centralizada en una sola tabla normalizada.
En el momento de mostrar esta información podrás darle el formato que quieras desde la aplicación-
Espero que te sirva la idea.
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

RE:sql dinamico

Publicado por susana (2 intervenciones) el 01/02/2007 14:44:40
create or replace procedure dinamico_su is
cursor curs_dep is
select deporte
from deportes_din;
cursor grupo_1 is
select dni
from alumnos
where edad <=25
order by dni;
cursor grupo_2 is
select dni
from alumnos
where edad>=25 and edad<=35
order by dni;
cursor grupo_3 is
select dni
from alumnos
where edad>=35
order by dni;
--c_c integer;
v_string varchar2(1000);
c_dep number;
c_gru number;
c_c number;
begin
-- c_c:=dbms_sql.cursor_open;
for c_dep in curs_dep loop
for c_gru in grupo_1 loop
v_string:='create table '||c_dep.deporte||'_g1(dni_'||c_gru.dni||' number);';
-- c_c:=dbms_sql.parse(c_c, v_string,dbms_sql.v7);
dbms_output.put_line(v_string);
end loop;
for c_gru in grupo_2 loop
v_string:='create table '||c_dep.deporte||'_g2(dni_'||c_gru.dni||' number);';
--c_c:=dbms_sql.parse(c_c, v_string,dbms_sql.v7);
dbms_output.put_line(v_string);
end loop;
for c_gru in grupo_3 loop
v_string:='create table '||c_dep.deporte||'_g3(dni_'||c_gru.dni||' number);';
--c_c:=dbms_sql.parse(c_c, v_string,dbms_sql.v7);
dbms_output.put_line(v_string);
end loop;
dbms_sql.close_cursor(c_c);
end loop;

end;

esto no me anda porque???????????????????
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

RE:sql dinamico

Publicado por roberto (1 intervención) el 04/05/2007 01:44:51
Te falta quitar la antepenúltima instrucción...

dbms_sql.close_cursor(c_c);

ya no va porque quitaste todas las "dbms_sql"

:)
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