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

Procedimiento almacenado

Estas en el tema de Procedimiento almacenado en el foro de Oracle en Foros del Web. Hola foreros! Estoy haciendo un procedimiento almacenado para mi base de datos de una asignatura de la carrera y por más que intento crearlo me ...
  #1 (permalink)  
Antiguo 19/11/2009, 11:49
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años, 7 meses
Puntos: 9
Procedimiento almacenado

Hola foreros!

Estoy haciendo un procedimiento almacenado para mi base de datos de una asignatura de la carrera y por más que intento crearlo me dice que existen errores de compilación. Espero que algún experto me pueda ayudar:

Código sql:
Ver original
  1. CREATE PROCEDURE PROC_PROFESORES_NO_ASIG AS
  2. SELECT codigo FROM profesor;

Simplemente quiero hacer eso (la tabla 'profesor' existe y tengo privilegios para crear procedimientos y realizar selects).

Salu2!
  #2 (permalink)  
Antiguo 19/11/2009, 12:30
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Procedimiento almacenado

La sintaxis que usas es como si quisieras hacer una vista y no un procedimiento.

Un procedimiento es la ejecución de un conjunto de tareas en un mismo lugar.

Código sql:
Ver original
  1. CREATE VIEW PROFESORES_NO_ASIG AS
  2. SELECT codigo FROM profesor;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 19/11/2009, 12:46
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: Procedimiento almacenado

Hola huesos52!

Gracias por tu pronta respuesta. Si, eso es lo que parece cuando ves mi código; el problema me surge cuando me piden un procedimiento almacenado que muestre por pantalla la relación de profesores que no imparten ninguna asignatura.

Y SÍ, como tú mismo comentas parece que es una vista, pero debe ser un procedimiento almacenado (a fin de cuentas, mostrar por pantalla es un select y punto).

¿Cómo crees que podría hacerlo de tal forma que fuera un procedimiento almacenado? ¿No puedo usar SELECTs?

Gracias nuevamente. Salu2!
  #4 (permalink)  
Antiguo 19/11/2009, 12:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Procedimiento almacenado

En cualquier buscador (google, yahoo, bing etc.) puedes encontrar ejemplos
Te comparto uno
http://www.programatium.com/manuales/oracle/9.htm
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 19/11/2009, 14:59
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: Procedimiento almacenado

Hola de nuevo!

Gracias por el enlace, aunque lo había visto. Creo que le preguntaré al profesor de la asignatura porque ni aún haciendo las cosas como vi en el enlace que me pasaste me funciona.

Salu2!
  #6 (permalink)  
Antiguo 20/11/2009, 13:09
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: Procedimiento almacenado

CURSORES, señores, CURSORES.

Y algún DBMS_OUTPUT.PUT_LINE que otro.
  #7 (permalink)  
Antiguo 20/11/2009, 14:01
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años, 7 meses
Puntos: 9
Respuesta: Procedimiento almacenado

Pues justamente esta tarde lo averigue por mi cuenta usando CURSORES como apunta jc3000. Todo va a un cursor, y a medida que lo recorro voy imprimiendo.

Ya este problema está solucionado :)

Salu2!
  #8 (permalink)  
Antiguo 20/11/2009, 16:51
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Procedimiento almacenado

No es mi intención desmerecer el post original ni las respuestas, simplemente expresar y tal vez debatir, por el nivel universitario que vienen demostrando ultimamente las preguntas en el foro, y repito, no tiene nada que ver con las personas que preguntan.

Es decir, por ejemplo, ¿dónde están los planteos sobre modelos conceptuales y lógicos sobre bases de datos relacioneles?, ¿qué son entidades persistentes?, relaciones entre entidades, claves naturales y sustitutas, etc, etc, etc.. ¿Cómo puede ser que se creen dudas sobre como crear un procedimiento en Oracle, y no existan dudas sobre como modelar una base de datos independientemente del motor?. Si mi profesor de base de datos me preguntara, ¿cómo se crea un procedimiento en tal o cual base de datos?, mi respuesta sería: ¿qué más da?, ya lo miraré en su momento en los manuales.

En fin, todo esto es porque, después de mi paso por la universidad, mis varios pasos por Oracle University, y actualmente cursando un master en la universidad, todavía tengo problemas para modelar sistemas de información, donde mi capacidad para programar PL/SQL poco tiene que ver.

Bueno Claw, perdón por robarme tu post, pero lo tenía que decir :)

Saludos
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 18:44.