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

Manejo de cadenas de caracteres

Estas en el tema de Manejo de cadenas de caracteres en el foro de Oracle en Foros del Web. Hola, tengo la siguiente duda, estoy haciendo un PROCEDURE y como parametro le paso una CADENA DE CARACTERES(en realidad son enteros separados por coma(234,44,456)), y ...
  #1 (permalink)  
Antiguo 15/11/2010, 18:21
 
Fecha de Ingreso: noviembre-2010
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
Manejo de cadenas de caracteres

Hola, tengo la siguiente duda, estoy haciendo un PROCEDURE y como parametro le paso una CADENA DE CARACTERES(en realidad son enteros separados por coma(234,44,456)), y luego dentro del cuerpo del PROCEDURE necesito hace algo como lo siguiente

UPDATE ...... SET id = 345
WHERE id in (CADENA DE CARACTERES)


Osea que necesito transformar la cadena de caracteres a enteros, para luego actualizar si uno de esos id(pertenecientes a la lista de caracteres) se encuentra en la tabla.

Espero que haya quedado claro, muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 15/11/2010, 22:00
Avatar de raraniva  
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Manejo de cadenas de caracteres

Tal vez no sea lo mas delicado en estética, pero te funcionaría:

create or replace procedure pborrame (st varchar2)
is
var number:=1;
begin
execute immediate 'update tborrame set id='|| var ||' where id in ('|| st ||')';
commit;
end pborrame;

exec pborrame ('6,5,3');

http://www.plsqlexpert.com
Keep it Simple!
  #3 (permalink)  
Antiguo 17/11/2010, 09:58
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años
Puntos: 6
Respuesta: Manejo de cadenas de caracteres

Hola,

A ver si entiendo, cuando te refieres a enteros es cada valor de la cadena es decir 1,25. tendrias el valor 1 y el valor 25 como enteros no?. Para esto revisa este post:

http://www.forosdelweb.com/f100/func...record-783668/

Y si solo quieres quitar las comas, pues con un REPLACE lo haces.

REPLACE(string,',')

Saludos,

Etiquetas: Ninguno
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 05:19.