Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/04/2016, 04:57
vayajodienda
 
Fecha de Ingreso: abril-2016
Mensajes: 2
Antigüedad: 8 años
Puntos: 0
Problema con query dentro de procedure sp_msforeachdb

Buenos días, mi intención es coger el nombre base de datos y que salga en la consulta como un literal, tal que el resultado de la tabla sea:

nombretabla, campo1, campo2,campo3, etc...

Este es mi código:

Código SQL:
Ver original
  1. EXEC sp_msforeachdb 'use [?];
  2.            if Exists(SELECT *
  3.                 FROM INFORMATION_SCHEMA.TABLES
  4.                 WHERE TABLE_NAME = ''N_CON'')
  5.            BEGIN
  6.            declare @nombrebd varchar(128)
  7.            set @nombrebd=?
  8.             SELECT DISTINCT PAD_EJE, PAD_NRE, PAD_SIT,PED_COD, TRE_COD, TRE_DES,PAD_NVR, PAD_IMP,ISNULL(PED_DES,"") AS PED_DES
  9.        FROM ((((N_PAD LEFT OUTER JOIN N_TRE ON PAD_ETR = TRE_ETR AND PAD_PRO = TRE_PRO AND PAD_MUN = TRE_MUN AND PAD_TRE = TRE_COD)
  10.        LEFT OUTER JOIN N_PED ON PAD_PER = PED_COD) LEFT OUTER JOIN N_VAL ON PAD_ETR = VAL_ETR AND  PAD_PRO = VAL_PRO AND  PAD_MUN = VAL_MUN AND  PAD_COD = VAL_PAD)
  11.        LEFT OUTER JOIN N_CAR ON VAL_ETR = CAR_ETR AND  VAL_PRO = CAR_PRO AND  VAL_MUN = CAR_MUN AND  VAL_CAR = CAR_COD)
  12.        WHERE PAD_ETR = 1 AND (PAD_DIR <> 1 OR PAD_DIR IS NULL) AND PAD_PRO = 40 AND PAD_TVA IN ("R", "C");
  13.            END;'

El error que me da es nombre de columna no valido, me pasa lo mismo si pongo un literal (por ejemplo prueba, en lugar de la variable).

¿alguna pista?

Gracias.

Última edición por gnzsoloyo; 18/04/2016 a las 08:31