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

Crear función para consulta en oracle

Estas en el tema de Crear función para consulta en oracle en el foro de Oracle en Foros del Web. hola amigos, por favor alguien me podra ayudad a crear un funcion en oracle para poder consultar a los alumnos por curso (que inserte el ...
  #1 (permalink)  
Antiguo 23/07/2013, 23:40
 
Fecha de Ingreso: julio-2013
Ubicación: Chiclayo-Perú
Mensajes: 1
Antigüedad: 11 años, 3 meses
Puntos: 0
Busqueda Crear función para consulta en oracle

hola amigos, por favor alguien me podra ayudad a crear un funcion en oracle para poder consultar a los alumnos por curso (que inserte el codigo del curso y que me devuelva la lista de alumnos en ese curso)


el cod de la conlusta es:
Código SQL:
Ver original
  1. SELECT a.alu_codigo, a.alu_apellidos, a.alu_nombre FROM alumno a INNER JOIN notas n ON n.alu_codigo=a.alu_codigo INNER JOIN cursos c ON c.cur_codigo=n.cur_codigo
  2. WHERE c.cur_codigo='111';
el problema como lo muestro como una función

Última edición por gnzsoloyo; 24/07/2013 a las 03:29
  #2 (permalink)  
Antiguo 24/07/2013, 03:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Crear función para consulta en oracle

¿Una función?
No puedes, una función devuelve un único valor (por definición), en todo caso sería un procedimiento almacenado.
A menos que estés hablando de programar en algún lenguaje y no en PL/SQL, con lo cual estás posteando en el foro equivocado y tendría que mover el post al otro.
¿De qué función estás hablando?

Por cierto, una distinción: Ese no es el modelo lógico, sino el físico.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/07/2013, 05:20
Avatar de zarwar  
Fecha de Ingreso: mayo-2013
Ubicación: Madrid
Mensajes: 77
Antigüedad: 11 años, 6 meses
Puntos: 4
Respuesta: Crear función para consulta en oracle

En PL/SQL una función puede devolver arrays de registros. Podría servir como base, para lo que plantea jimaslucan. Os pongo un ejemplo:

Código MySQL:
Ver original
  1. create or replace package pkg_prueba is
  2.     type tipoArray is varray(11) of VARCHAR2(100);
  3.     function fn_devuelve_array return tipoArray;
  4. end pkg_prueba;
  5. /
  6.  
  7.  
  8. create or replace package body pkg_prueba is
  9.     function fn_devuelve_array return tipoArray    as
  10.         v_array tipoArray;
  11.     begin
  12.         select table_name bulk collect into v_array from user_tables where rownum<=11;
  13.         return v_array;
  14.     end;
  15. end pkg_prueba;
  16. /
  17.  
  18. set serveroutput on
  19. exec dbms_output.enable
  20.  
  21. v_array pkg_prueba.tipoArray;
  22.  
  23.         v_array:=pkg_prueba.fn_devuelve_array;
  24.         dbms_output.put_line('INICIANDO');
  25.         for i in v_array.first..v_array.last loop
  26.             dbms_output.put_line(v_array(i));
  27.         END LOOP;
  28. /

Un saludo y espero que te sirva
__________________
Entra en mi blog sobre base de datos Oracle:
http://mundodb.es

Etiquetas: funciones, oracle10g, oracle11g
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 04:39.