Oracle - Urgente, sobre procedimiento alamacenado.

 
Vista:

Urgente, sobre procedimiento alamacenado.

Publicado por Leonardo (27 intervenciones) el 21/10/2002 17:52:56
Esta sentencia sql esta en un procedimiento almacenado funciona bien en una base de datos Oracle 8i,
pero al colocarla en una base de datos Oracle 7.3 me envia este error:
PLS-00950:In this version PL/SQL tables can not be used is this SQL statement

El error lo genera la variable v_cuantos que utilizo en la sentencia,
lo probe en el SQLplus le antepongo un & a la variable y funciona bien.

En el procedimiento almacenado la variable esta declarada, no entiendo porque no funciona
si en el resto de la sentencia utilizo otras variables.

La sentencia es la siguiente:

select round(sum(uno.dias * dos.dias)) into v_dias
from (select cali_cod, (count(trunc(nvl(mgel_fecultabo,to_date(sysdate)) - mgel_fecven)))/v_cuantos as dias
from siacc_tmgeliq, siacc_tconobl, siacc_tcalifi
where coob_coob = mgel_coob
and cali_tipcal = 'C'
and mgel_tipliq in ('I','S')
and coob_obli = (select coob_obli
from siacc_tconobl, siacc_tmgeliq
where coob_coob = mgel_coob
and mgel_mgel = p_mgel)
and (trunc(nvl(mgel_fecultabo,to_date(sysdate)) - mgel_fecven) ) >= decode(cali_desde,0,-10000,cali_desde)
and (trunc(nvl(mgel_fecultabo,to_date(sysdate)) - mgel_fecven) ) <= decode(cali_hasta,0,10000,cali_hasta)
group by cali_cod) uno,
(select cali_cod, trunc(((decode(cali_hasta,0,cali_desde,cali_hasta) - cali_desde)/2) + cali_desde) as dias
from siacc_tcalifi
where cali_tipcal = 'C') dos
where uno.cali_cod = dos.cal
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:Urgente, sobre procedimiento alamacenado.

Publicado por Harold (697 intervenciones) el 22/10/2002 16:50:21
Lo que pasa aca es que el motor de 7.3 no entiende la sintaxis del del procedimiento.

Un consejo: Migra esa version, ya sabes que no hay soporte??? cuando migres te evitaras esos problemas, ya que no tendras que reescribir el codigo, yo sinceramente no le miro ningun error a lo que pusistes.

Saludes

Harold
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