Gracias por responder
Andres95
En cuanto a las columnas dinámicas, en realidad es un pivot y este me devuelve las columnas (por cierto, abrí
este tema porque no encontraba solución). Que por cierto, se convierte en el primer execute sp_executesql.
Esto es lo que hace el primer procedimiento (SP_ABC):
Código SQL:
Ver original--Por si ha quedado en memoria por algún error
IF OBJECT_ID('tempdb..##Tmp_001') IS NOT NULL
BEGIN
DROP TABLE ##Tmp_001
END
@SentenciaSQL = N'SELECT * FROM (ABC) AS PIV PIVOT Sum(Monto) FOR ....'
--Primer uso de EXECUTE (asumiendo que ya la tabla ##Tmp_001 ya esta en memoria
INSERT INTO ##Tmp_001 EXEC(@SentenciaSQL)
--Después hago inner join con esta tabla temporal (##Tmp_001) ya que debo presentar otros datos:
SELECT * FROM (
SELECT X FROM ABC...
)AS Qry LEFT JOIN ##Tmp_001
ON Qry.Codigo = ##Tmp_001.Codigo
Esto es lo que hace el segundo procedimiento
Código SQL:
Ver original--Verificando si ya existe la tabla
IF OBJECT_ID('tempdb..##Tmp_002') IS NOT NULL
BEGIN
DROP TABLE ##Tmp_002
END
--Aquí voy a traer las columnas utilizando [B]parte[/B] de la lógica del pivot
@SentenciaTmp = N'CREATE TABLE ##Tmp_002'
--Aquí me genera el error:
INSERT #Tmp_002 EXEC SP_ABC @Parametro01, @Parametro02
--Después continua una rutina de eliminación de la tabla
Gracias por el tiempo...