FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como se ejecutan las vistas ....?
tengo una vista en mi bd ...algo asi
select * from clientes order by nombre ok esta es una vista digamos general de todos mis clientes, pues bien lo ocurre es que cada vez que la llamo filtrada desde mis programas sospecho que primero ejecuta toda la consulta para luego filtrarla, eso no es optimo lo ideal seria algo asi select * from clientes where id_cliente=Parametro_Id asi a nivel de servidor solo se busca el cliente buscado con el parametro_id el caso es que con las vistas segun parece no se puede usar variables o mejor dicho parametros con lo procedimientos almacenados si .... esa son las preguntas: 1. en efecto la primera consulta llama todos los registros de la tabla pero si la llamo desde un programa o por ejemplo crystal report restringiendo a un solo cliente, aun asi primero el servidor ejecuta la consulta general para luego filtrarla ...es esto cierto ...? 2. se pueden usar parametros a una vista ....? Gracias a todos... |
#2
|
|||
|
|||
Como se ejecutan las vistas ....?
Hola como estas??
Que yo sepa y por lo menos en interbase 7.1 no se puede pasar parametros a las vistas!!!! Los que si puedes hacer y que lo he usado es recuperar los datos de un procedimiento almacenado con el componente IB_Cursor... El unico inconveniente que el IB_Cursor te va devolviendo los datos a medida que recorres el dataset resultante, por lo tanto si quisieras mostrar el resultado en una dbgrid, despues de abrirlo tendrias que recorrer todo el dataset resultante para traer todos los registros.... Espero este claro.... Saluda Atte Neeruu!!! Última edición por Neeruu fecha: 18-06-2008 a las 01:58:57. Razón: Correccion de Horror Ortografico |
#3
|
|||
|
|||
Cuando creas una vista en la BD unicamente se graba la DEFINICION, por lo que cuando la mandas llamar es cuando se realiza la consulta.
EJEMPLO
Esto crea una Vista llamada VENCIDOS De tal manera que cuando la quieras LLAMAR la podrias hacer como sigue
Te devolveria todos los campos definidos en tu VISTA VENCIDOS pero unicamente te traeria a aquellos que el saldo este entre 1000 y 5000 Desde mi punto de Vista Las vistas te ayudan a evitar TENER un buen rollo en tus comandos SQL limitando unicamente a tus campos requeridos.. Las vistas las puedes considerar como si fuera una TABLA en tu BD, pero no son una TABLA ya que unicamente se graba la DEFINCION.. Otro ejemplo
Espero te haya aclarado un poco el concepto o puedes accessar este link.. http://www.ibphoenix.com/main.nfs?a=...qlref#RSf20247
__________________
Poco ha de saber el que no pregunta.. Yo por eso soy un pregunton |
#4
|
||||
|
||||
Creo que tus conclusiones (1) y (2) son correctas.
¿Puedes utilizar Funciones y/o Stored Procedures?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
si puedo neftali
Si puedo usar funciones(aun no se como se usan) y procedimientos almacenados y eso es lo que quiero ver, cual es la alternativa optima en cuanto a recursos se refiere, en la actualidad la aplicacion que estoy en desarrollo tiene muy pocos terminales pero aun asi debo pensar en funcion de crecimiento futuro y mayor volumen de solicitudes de datos a tan fin pues lo que quiero es optimizar al maximo ...
por ejemplo la vista en cuestion a punta de joins enlaza 4 tablas (lo cual es bastante) si a esto añades el hecho de que segun parece la definicion de la vista cuando se ejecuta carga todos los datos para luego filtrarlos segun el criterio de mi solicitud .... pues ufff muchos datos imaginate 4 tablas enlazadas para n cantidad de registros repito ufff .... Gracias ..... |
#6
|
||||
|
||||
Yo creo que puedes usar cualquiera de los dos. A ambos les puedes pasar los parámetros necesarios para que el filtrado de datos se realice en el servidor.
Personalmente trabajando con SQL Server y ADO he acabado utilizando funciones, ya que se "llevaban" mejor con los diferentes tipos de cursores que maneja ADO.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Lineas que no se ejecutan | Bauhaus1975 | Varios | 2 | 23-06-2006 19:14:56 |
Saber q programas se ejecutan | Diavlo | Varios | 1 | 13-05-2006 21:41:35 |
Como trabajar con vistas | chalys | SQL | 4 | 08-08-2005 04:00:04 |
¿Como se utilizan las Vistas en Delphi? | (VIH)Lestat | Conexión con bases de datos | 9 | 13-07-2005 05:26:43 |
Como crear vistas en Paradox? | chona | Tablas planas | 3 | 17-05-2004 22:36:47 |
|