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

Se puede realizar esto +

Estas en el tema de Se puede realizar esto + en el foro de Oracle en Foros del Web. PROCEDURE selectListaSelMarca(idiomaV IN IDIOMA.IDIO_DESCR%TYPE, cadenaCodigos IN VARCHAR2,marcaMultiCursor OUT vCursor)IS cCodigos VARCHAR2(1000); BEGIN cCodigos := cadenaCodigos; OPEN marcaMultiCursor FOR SELECT Obtenerdescripcion(idiomaV,MRC.MARC_CODDES) DESCR ,MRC.MARC_COD COD FROM MARCA ...
  #1 (permalink)  
Antiguo 06/06/2007, 01:33
 
Fecha de Ingreso: noviembre-2005
Mensajes: 405
Antigüedad: 18 años, 5 meses
Puntos: 0
Se puede realizar esto +

PROCEDURE selectListaSelMarca(idiomaV IN IDIOMA.IDIO_DESCR%TYPE, cadenaCodigos IN VARCHAR2,marcaMultiCursor OUT vCursor)IS
cCodigos VARCHAR2(1000);
BEGIN

cCodigos := cadenaCodigos;
OPEN marcaMultiCursor FOR

SELECT Obtenerdescripcion(idiomaV,MRC.MARC_CODDES) DESCR ,MRC.MARC_COD COD
FROM MARCA MRC
WHERE MRC.MARC_COD IN (cCodigos);

END selectListaSelMarca;


Donde cCodigos son valores que vendrán por ejemplo como : 1,2 al final la select a ejecutar con los parámetros informados es :


SELECT Obtenerdescripcion('CAS',MRC.MARC_CODDES) DESCR ,MRC.MARC_COD COD
FROM MARCA MRC
WHERE MRC.MARC_COD IN (1,2);


Espero que alguien me pueda ayudar
Jaime
  #2 (permalink)  
Antiguo 06/06/2007, 14:26
(Desactivado)
 
Fecha de Ingreso: junio-2007
Mensajes: 14
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Se puede realizar esto +

Solo si armas un string y usas sql dinamico, pero genera excesivo parseo. Es mas interesante usar una funcion que reciba el string de entrada y te devuelva una coleccion de valores, luego a esta coleccion la pueden tratar como una tabla y joinearla con tu tabla original, de manera de evitar el parseo recurrente.
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 12:57.