Estimado orodriguezca, gracias por tu tiempo. Probe lo que me enviaste y obtengo al llamarlo desde delphi "el nombre de objeto #tempo1 no es valido'. Lo he modificado de varias maneras y simepre da ese error. Tomando tu ejemplo lo hice con variable de tabla
Código SQL
[-]ALTER PROCEDURE [dbo].[TOTALES]
-- Add the parameters for the stored procedure here
@TOTIVA21 NUMERIC(13,2) OUTPUT,
@TOTIVA105 NUMERIC(13,2) OUTPUT,
@SUBTsIVA NUMERIC(13,2) OUTPUT,
@GANANCIAsIVA NUMERIC(13,2) OUTPUT,
@GANANCIAcIVA NUMERIC(13,2) OUTPUT,
@BASE NVARCHAR(9)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
DECLARE @COMANDO NVARCHAR(1000)
DECLARE @TEMP1 TABLE(SUBTIVA105 NUMERIC(11,2),SUBTIVA21 NUMERIC(11,2),SUBTOTSIVA NUMERIC(11,2),GANASIVA NUMERIC(11,2),GANACIVA NUMERIC(11,2))
SET NOCOUNT ON;
SET @COMANDO =
'INSERT INTO @TEMP1' +
' SELECT ' +
' SUM(SUBTIVA105), ' +
' SUM(SUBTIVA21) , ' +
' SUM(SUBTOTSIVA), ' +
' SUM(GANASIVA) , ' +
' SUM(GANACIVA) ' +
' from ' + @BASE;
EXEC SP_EXECUTESQL @COMANDO;
select top 1
@TOTIVA105 = SUBTIVA105,
@TOTIVA21 = SUBTIVA21,
@SUBTsIVA = SUBTOTSIVA,
@GANANCIAsIVA = GANASIVA,
@GANANCIAcIVA = GANACIVA
from @temp1;
pero me da error cuando se ejecuta el @comando "debe declarar la varible de tabla @temp1". Es como si no reconociera las variables que estan dentro del @comando