Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-11-2005
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
vista parametrizada

Hola saludos a todo/as :

Trabajo con D5 y SQL2000 y tengo una duda con una vista en SQL, en ella agrupo 2 tablas, en total son unos 200000 registros :
Código:
select * from tabla 1 where (.....)
union
select * from tabla 2 where (.....)
y estaba probando a realizar dicha vista con parametros, es decir :
Código:
select * from tabla 1 where (..... and ejerc = @ejerctemp)
union
select * from tabla 2 where (..... and ejerc = @ejerctemp)
pasa así utilizar sólo los registros del ejercicio correspondiente.
El tema es que desde el administrador corporativo de sql me dice :

Código:
El Diseñador de consultas no admite la interpretación SQL de @ejerctemp.
y no me deja guardar la vista.
La duda es si SQL2000 admite las vistas con parámetros o debo estudiarme otra forma de hacerlo

Saludos y Muchas gracias a todos/as.
__________________
Toni | blog
Responder Con Cita
  #2  
Antiguo 30-11-2005
Avatar de edgusano
edgusano edgusano is offline
Miembro
 
Registrado: abr 2004
Ubicación: Medellin Colombia
Posts: 180
Poder: 21
edgusano Va por buen camino
La respuesta es no, una vista no recibe parametros, para esto puedes hacer una funcion, que ha esta si le puedes enviar parametros.
__________________
Optimus Prime
Responder Con Cita
  #3  
Antiguo 30-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hasta el momento no conozco un solo motor que permita guardar vistas "parametrizadas" de esta manera.

Sin embargo, la mayoría de los motores optimizarán correctamente la consulta cuando añadis al where de la consulta que utilice la vista las condiciones para limitar los registros.

Así, la consulta:

Código SQL [-]
select *
  from vista
 where ejerc = @parametro

Generalmente resultará tan optima como si tuvieses consultas parametrizadas. Claro, esto es mejor comprobarlo con el motor en el que trabajas actualmente.

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 30-11-2005
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
O se puede usar un store procedure
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 30-11-2005
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Poder: 21
tgsistemas Va por buen camino
Gracias a todos por las respuestas :

lamentablemente eso me estaba temiendo.
Lo que comenta jachguate ya lo tengo en cuenta pero hasta ahora llevamos 2 ejercicios (2004 y 2005) y son unos 200000 registros, teniendo en cuenta los ejercicios venideros....
Estaba estudiando la opción del SP (gracias jhonny) pero no se que pasa cuando intento ejecutarlo desde Delphi me da error como si no existiera el SP, sigo probando y os digo algo.

Un saludo y gracias a todos
__________________
Toni | blog
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:31:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi