Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2010
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Pasar parametro como campo en un SP

Hola:

Trabajo con MS SQL Server 2000 y tengo la siguiente problematica, tengo una tabla que tiene el plan de los diferentes meses del año y los nombres de los campos corresponden con los meses del año. Necesito por ejemplo hacer una consulta como esta:

Código SQL [-]
SELECT nombre, Enero
FROM dbo.Ingresos

para que me de el valor correspondiente al mes de enero, como yo podria pasar un parametro que me sustituyera el nombre del campo. Por ejemplo

Código SQL [-]
DECLARE @valor char(12)
SET @valor = 'Enero'

SELECT nombre, @valor
FROM dbo.Ingresos

Para de esta forma solo pasarle como parametro el nombre del campo y me devuelva el plan de ese mes en especifico. No se si me he hecho entender.

Saludos
Luis Garcia
Responder Con Cita
  #2  
Antiguo 04-03-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Puedes hacerlo mediante el uso de Sql Dinámico. En los motores que compilan previamente el código de los stored procedures, no es recomendable por una cuestion de rendimiento, salvo que sea necesario. Te recomiendo ver la ayuda del stored procedure: "sp_executesql".


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 04-03-2010
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Pasar parametro como campo en un SP

Muchas gracias por la respuesta Federico, voy a trabajar en esa via, yo en un proyecto anterior utilice un sql dinamico, pero no habia valorado esa posibilidad.

Saludos
Luis Garcia
Responder Con Cita
  #4  
Antiguo 05-03-2010
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
En caso de que no se pudiese aplicar la opcion del sql dinamico, es probable que te sirva esta opcion:

Código SQL [-]
SELECT  nombre ,
        CASE WHEN @valor = 'Enero' THEN Enero
             WHEN @valor = 'Feb' THEN Febrero
             WHEN @valor = 'Mar' THEN Marzo
             WHEN @valor = 'Abr' THEN Abril
             ...
        END AS Valor
FROM    dbo.Ingresos

donde @valor es el parametro en cuestion

Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar array como parámetro santiago14 Varios 10 17-09-2008 14:31:00
Como pasar un parametro? b3nshi Varios 3 18-08-2007 06:54:53
Pasar SQL como parametro veloki Impresión 7 16-04-2007 15:28:37
pasar como parametro arrayq nenufer Varios 3 27-04-2006 16:43:13
Pasar como parametro el where en una funcion cso2000 MS SQL Server 2 15-02-2005 02:49:47


La franja horaria es GMT +2. Ahora son las 18:51:08.


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