Oracle - Una Pregunta Sobre Pl/Sql

 
Vista:
sin imagen de perfil

Una Pregunta Sobre Pl/Sql

Publicado por Roberto (8 intervenciones) el 02/01/2004 20:39:19
Hola:
Me podrian ayudar a hacer lo siguiente
Tengo una tabla
NombreEdad
que tiene los campos
edad
Nombre
en el cual recibo dentro de una function Pl/sql las variables y con los valores
edad = 22,23,24,25
Nombre = Rob,Mar,Jul,Sab,
como hago para ir recorriento las variables
para poder carga por ejemplo
22 Rob
23 Mar
24 Jul
25 Sab
en la tabla NombreEdad
osea
Ir recorriendo estos datos y actualizando la tablas

Muchas gracias.
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:Una Pregunta Sobre Pl/Sql

Publicado por Daniel Rodas (21 intervenciones) el 03/01/2004 00:31:16
Hola. Tienes que usar un cursor para ir recorriendo todos los registros de la tabla. Por ejemplo

Procedure RECORRIDO

vedad number; /* Las variables depende si las necesitas o no*/
vnombre varchar2(xx);
contador number; /* por si deseas llevar un conteo de los registros */
Cursor c1 Is
select edad, nombre
from NombreEdad;
Begin
contador := 0;
-- Declaras el cursor con un ciclo For con sub indice arbitrario i
For i In C1 Loop
-- Por ejemplo
vedad := i.edad;
vnombre := i.nombre;
-- Las lineas que siguen serian el codigo de las operaciones que
-- tengas que hacer , SELECT, INSERT, UPDATE, DELETE
-- otros cursores u otros ciclos, la suma del contador, selecciones "if"
-- asiganaciones, etc.
-- por ejemplo
if vedad > 18 then
update NombreEdad
set nombre = "Mayor de Edad"
where edad = vedad;
:system.message_level := 5;
commit;
:system.message_level := 0;
-- etc
End Loop;
End;

Bien, espero te ayude y si tienes alguna duda al respecto por favor escribe a mi correo y con gusto te respondere.
Saludos.
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
sin imagen de perfil

Daniel Rodas (Gracias) Pero....

Publicado por Roberto (8 intervenciones) el 05/01/2004 14:20:34
Gracias daniel por tu contestacion pero en realidad
lo que yo tengo son variables almacenadas con datos separados por
comas y desde ahi yo tengo que llenar la tabla
Sabras la manera de hacerlo
Muchas gracias nuevamente
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

RE:Daniel Rodas (Gracias) Pero....

Publicado por Byron (300 intervenciones) el 05/01/2004 15:49:42
instr(cadena, char_busqueda, posicion, ocurrencia)
substr(cadena, posicion, longitud_extraer)

Utiliza la funcion instr para buscar la coma dentro de la cadena, y sigue buscando la siguiente coma utilizando la cantidad de ocurrencias (incrementa uno con cada loop) o bien almacenando la posicion anterior encontrada y poniendola en el campo posicion sumada más uno.

Y la funcion substr la usas para recortar las subcadenas para ir separandolas.

El resto es solo el update y el commit.

Saludos DTB
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