¿Cómo puedo utilizar filtros en Oracle?

Actualmente estoy utilizando la version 7.3 de Oracle para NT, anteriormente utilizaba el SQL Server, en el cual podía utilizar filtros para tablas o consultas... El cual me facilita mucho la programación. He tratado de implementarlos en Oracle, pero me manda un mensaje de Operación no aplicable, mi pregunta es.. Si en versiones posteriores ya es posible utilizarlos...
1

1 respuesta

Respuesta
1
Mandame un caso a los que te refiere y podre verificar lo que preguntas!
Te parece!
Espero tu respuesta!
BYE
Daniel...
Hola, mi nombre es Angélica, actualmente me encuentro desarrollando en Delphi... puedo colocar componentes pegados a las tablas, que me visualicen todos los datos de la misma, pero en ocasiones no es necesario visualizar toda la tabla, y puedo filtrar por alguna condición... ej State = 'CA',
de manera que en la misma tabla, solo se despliega la información correspondiente a ese filtro... este tipo de filtros también es aplicable a consultas...
En teoría, cuando tienes una tabla maestro-detalle estás haciendo un filtro para el detalle con las llaves primaria de la tabla maestro... y esto si es posible utilizarlo..
Para verificarlo de una manera simple, puedes checar el sql explorer que trae integrado delphi, seleccionas una tabla, buscas la pestaña Data, para posicionarte en los datos de esa tabla, das un click derecho, y aparece la opción filter... en la que debería ser posible filtrar por cualquier campo de la tabla...
Mi nombre es Daniel..
Ok
A lo que tu et refieres con filtros, es lo que se conoce en los estándares mundiales del ansi 92 de pl/sql como la clausula "where" que traduce donde
Y en oracle funciona de la siguiente manera!
Ej:
select *
from rm_departamentos
where codigo_oficina >= 1542
o
de otra forma
select *
from rm_avenidas
where descripcion_avenida like '%ALT'
o
select *
from rm_avenidas
where descripcion_avenida like 'ALT%'
o
select *
from rm_avenidas
where descripcion_avenida like '%ALT%'
Lo que traduce en:
El primer select filtra donde la condición sea mayor o igual a
En el segundo select filtra todo lo que termine en ese campo por ALT
En el tercer select traes todo lo que empiece por ALT y en el cuarto select traes todo lo que COINCIDA CON ALT en cualquier parte del campo
Y en el caso que comentaste en que los usas para enlazar maestro con detalle!
Tienes el siguiente caso!
Tenemos la tabla maestro rm_contribuyentes y su campo primario es codigo_cotribuyente
Y un detalle rm_vehiculos cuyo campo primario es codigo_vehiculo y el campoque lo enlaza con el maestro es codigo_contribuyentes, entonces en oracle quedaría así:
select rc.*,rv.*
from rm_contribuyentes rc
,rm_vehiculos rv
where rc.codigo_empresa = 7
and rv.codigo_contribuyente = rc.codigo_contribuyente
Esto se raduce en :
Que traigo los padres del maestro que sean pertenecientes a una empresa que en este caso la llamamos 7
y nos traemos todos los vehículos de los contribuyentes que perteneces a la empresa mencionada!
Espero.
Que esto te ayudes, y de no ser así!
No dudes en preguntar,
Bye
Suerte!
Conozco muy bien el SQL, pero no se refiere a eso mi pregunta... sino a que se pueden realizar filtros con sentencias como las de SQL, por medio de algún campo de la tabla...
La tabla mostrará todos los datos con la condición como la del where en sql, pero sigue siendo la tabla...
Por ejemplo, en una consulta tu obtienes, un conjunto de datos de solo lectura, que no puedes modificar... pues es solo una consulta...
Con el filtro, puedes utilizar condiciones como las de la clausula where del sql y el resultado sería una extracción de la tabla... a diferencia, estos datos si son modificables, porque sigues trabajando con la tabla...
Como nota adicional, los filtros, también son aplicables a consultas... es decir para las filtrar con una condición, a tus datos obtenidos con la consulta...
Disculpame!
Podrías enviarme un ejemplo de que es lo que hacías y que cuando lo intentas en oracle te da error y si me puedes enviar el error...
Seria de gran ayuda!
Disculpame de nuevo!
Por no entenderte directamente!
Pero enviame la información que te ayudare!
Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas