Funciones de Block Fetch

Obsydian, Cool:Plex, Advantage Plex, AllFusion Plex...

Moderadores: Jorge Ubeda, pacopicon

Funciones de Block Fetch

Notapor andy » Lun Jun 19, 2006 7:15 pm

Buenas Tardes estoy teniendo un problema cuando genero un funcion de tipo Block Fetch quiero tener dos campos Restric pero que los restric no filtren con AND o sea que pueda ser una u otro campo por el que filtre sea en este caso un OR .
como ejemplo ..
Tengo una tabla ( codigo, campo1,campo2 ) quiero hacer el select o la funcion de Block Fetch ( select * from tabla where campo1 = 'a' or campo2='a'
desde ya gracias
y Saludos
andy
 
Mensajes: 5
Registrado: Lun Jun 19, 2006 7:00 pm

Re: Funciones de Block Fetch

Notapor Jorge Ubeda » Mar Jun 20, 2006 7:35 am

andy escribió:Buenas Tardes estoy teniendo un problema cuando genero un funcion de tipo Block Fetch quiero tener dos campos Restric pero que los restric no filtren con AND o sea que pueda ser una u otro campo por el que filtre sea en este caso un OR .
como ejemplo ..
Tengo una tabla ( codigo, campo1,campo2 ) quiero hacer el select o la funcion de Block Fetch ( select * from tabla where campo1 = 'a' or campo2='a'
desde ya gracias
y Saludos

Seguramente te sirve la respuesta de Paco a Jovelar
Jorge Ubeda
Site Admin
 
Mensajes: 229
Registrado: Mié Oct 26, 2005 6:00 pm
Ubicación: Valencia

Notapor pacopicon » Mié Jun 21, 2006 3:41 pm

Hola Andy:

Voy a intentar explicarme mejor.

Para empezar, el concepto Restrict de Plex no permite AND ni OR. Los restrict se montan normalmente poniendo en la Variable restrict las claves de la vista, pero siguiendo el orden tal como explica Jorge Ubeda en este tema.

Imaginemos una vista cuya clave es un autonumérico del 1 al 10.
Para conseguir que en una función BlockFetch te devuelva sólo aquellos registros cuya clave sea 2 o 6, se me ocurre:

- Una vista que de forma estática sólo contenga los valores 2 y 6. Esto se haría según explico en este tema, y sólo se podrá pasar un valor como Restrict, no varios.

- Un función hecha con SQL que recupere sólo los registros cuya clave sea 2 o 6 ( select * from tabla where clave in ( &(1: ) , &(2: ) ). Esto se debería hacer con un Cursor, en el que se van recuperando las filas una a una con un FETCH.

- Un BlockFetchSet que tenga en restrict el campo clave y llamarlo 2 veces, una vez para recuperar los registros cuya clave sea 2 y otra para el 6 (esta forma no me gusta mucho...de hecho creo que nunca la he usado)

- Por decir otra posibilidad más, y que sólo sería válida para tablas con pocos registros, hacer un BlockFetch que lea todos los registros y devolver sólo aquellos cuya clave cumplan la condición.

No sé si habrá más posibilidades, pero de momento se me ocurren estas. Si ves que no te resulta suficiente, expón tu problema con algo más de detalle para ver si te podemos ayudar mejor.

Saludos
Paco Picón
www.metadata.es
pacopicon
 
Mensajes: 121
Registrado: Lun Oct 03, 2005 12:28 pm
Ubicación: Málaga - España


Volver a Plex

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 2 invitados

cron