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

Variables en Procedimientos almacenados

Estas en el tema de Variables en Procedimientos almacenados en el foro de Oracle en Foros del Web. Buena tarde!! Soy nueva en Oracle y estoy intentando crear un procedimiento almacenado, el detalle es que cuando lo ejecuto me marca error: ORA-06575: La ...
  #1 (permalink)  
Antiguo 17/08/2011, 11:44
 
Fecha de Ingreso: agosto-2011
Ubicación: Mexico
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Variables en Procedimientos almacenados

Buena tarde!!

Soy nueva en Oracle y estoy intentando crear un procedimiento almacenado, el detalle es que cuando lo ejecuto me marca error: ORA-06575: La función o el paquete SPPRUEBA tienen en un estado no válido.

Por lo que veo el error me lo maneja en la declaración de variables, ya que si elimino esa parte, el procedimiento se ejecuta sin problemas.

De antemano gracias por su tiempo y ayuda!

Create OR REPLACE procedure spPrueba() IS

valor number(2);
valor2 number(5);

begin

SELECT Columna1, Columna2 into valor, valor2
FROM tbTablaPrueba WHERE ColumnaFecha= TO_DATE(SYSDATE, 'dd-mm-yyyy')

dbms_output.put_line(valor + ' ' + valor2)

End;
  #2 (permalink)  
Antiguo 17/08/2011, 23:50
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
Respuesta: Variables en Procedimientos almacenados

eso de

dbms_output.put_line(valor + ' ' + valor2);

cambia a

dbms_output.put_line(valor || valor2);

((si no mal recuerdo ))
__________________
Blogzote.com :-) Mi blog
  #3 (permalink)  
Antiguo 19/08/2011, 16:59
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Respuesta: Variables en Procedimientos almacenados

Algunos objetos de la base de datos (triggers, funciones, procedimientos, vistas, packages, etc) deben compilar sin errores para que los puedas utilizar, el estado de cada uno lo puedes ver en la columna STATUS de la vista del diccionario DBA_OBJECTS, por ejemplo:

Un procedimiento creado con errores de sintaxis devuelve una advertencia y para ver más detalles utilizas el comando show err

Código:
SQL> create or replace procedure p1
  1  is
  2  c number(8);
  3  begin
  4  select 1 into x from dual;
  5  end;
SQL> /

Warning: Procedure created with compilation errors.

SQL> show err
Errors for PROCEDURE P1:

LINE/COL ERROR
-------- -------------------------------------------
5/1      PL/SQL: SQL Statement ignored
5/15     PLS-00201: identifier 'X' must be declared
5/17     PL/SQL: ORA-00904: : invalid identifier
Una vez corregido el problema, puedes recompilar con el comando

Código:
SQL> alter procedure p1 compile;

Procedure altered.
Saludos
  #4 (permalink)  
Antiguo 19/08/2011, 17:09
 
Fecha de Ingreso: agosto-2011
Ubicación: Mexico
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Variables en Procedimientos almacenados

Si ese era el error estaba concatenando con el signo de + en lugar de ||.

Gracias!

Etiquetas: procedimientos, tabla, variables, almacenar
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 09:43.