Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/10/2011, 06:33
carlino70
 
Fecha de Ingreso: octubre-2011
Ubicación: Merlo
Mensajes: 18
Antigüedad: 13 años, 1 mes
Puntos: 1
Pregunta Problemas con un bloque PL, y un cursor dentro de el

Hola gente, soy nuevo en el foro y también en al ambiente PL_SQL. Mi nombre es Carlos y les envío saludos a todos.

Desearía que me ayuden con unas dudas que tengo acerca de un bloque PL y un cursor dentro de el.

La situación es:

Debo crear un procedure o bien un bloque anonimo, que tenga un cursor dentro que haga una consulta a una base Oracle, la consulta es:

SELECT table_name
FROM ALL_TABLES
WHERE table_name LIKE 'NOA_LUL_MAX%';

Para obtener un listado de tablas. La columna table_name sería mi variable.

Con esta variable debería ejecutar un update sobre otra tabla, con datos que obtengo de las primeras.

El update es:

update NOA_LUL_DIA a
set (a.UTCTIME, a.POINTNUMBER, a.VALUE, a.TLQ, a.UTCTIMEMAX) = (
select b.UTCTIME, b.POINTNUMBER, b.VALUE, b.TLQ, B.UTCTIMEMAX
from NOA_LUL_MAX b
where b.VALUE = (select max(VALUE)
from NOA_LUL_MAX b1
where b1.POINTNUMBER = B.POINTNUMBER
)
and b.POINTNUMBER = A.POINTNUMBER)
where xa_time_cnv.utc_to_loc(a.utctime) > (select max(b2.UTCTIME)
from NOA_LUL_MAX b2
where B2.POINTNUMBER = a.POINTNUMBER
and xa_time_cnv.utc_to_loc(utctime) < trunc(sysdate))';


Mis serias dudas son:

Como llamo al cursor?

Como inserto la variable en el update?

Como hago que el update haga un barrido en todas las tablas que obtuve? Es un loop?

Debo usar Type en alguna parte?

Desde ya agradezco cualquier ayuda y me pongo a su servicio ante cualquier duda sobre administración Oracle.

Muchas gracias

carlino70