Eu tenho um problema com EXECUTE sp_executesql e estou preso a ele. minha dúvida é a seguinte
DECLARE @TABLE_NAME VARCHAR(5)='#T' DECLARE @TABLE_ID INTEGER=0 DECLARE @QRY NVARCHAR(MAX) ='' DECLARE @TABLE VARCHAR(3) DECLARE CRSR_WAGES CURSOR FOR SELECT Code,Name , ROW_NUMBER() OVER (ORDER BY U_Prrty, DocEntry) Slno, COUNT(Code) OVER (PARTITION BY OBJECT) ColNos FROM [@CCS_WAGE] WHERE U_DISPP = 'Y' AND U_DEDWT='E' OPEN CRSR_WAGES FETCH NEXT FROM CRSR_WAGES INTO @WAGECOD,@WAGE_DESC,@SI_NO,@COL_NOS WHILE @@FETCH_STATUS=0 BEGIN SET @TABLE=@TABLE_NAME+CONVERT(VARCHAR(2),@TABLE_ID) SELECT @TABLE AS 'TABLE' SET @QRY='(SELECT empno, amt AS '+'['+@WAGE_DESC+']' SET @QRY=@QRY+' INTO '+@TABLE SET @QRY=@QRY+' FROM CCS_PYMONTHRESULT WHERE wgcod='''+@WAGECOD+''')' SELECT @QRY EXECUTE sp_executesql @QRY SET @TABLE_ID=@TABLE_ID+1 DECLARE @STAR AS NVARCHAR(50)='SELECT * FROM ' + @TABLE SELECT @STAR EXECUTE sp_executesql @STAR FETCH NEXT FROM CRSR_WAGES INTO @WAGECOD,@WAGE_DESC,@SI_NO,@COL_NOS END CLOSE CRSR_WAGES DEALLOCATE CRSR_WAGES
mas o problema é quando executar esta mensagem de erro vem como este nome de objeto inválido '#T0'. Nome de objeto inválido '#T1'. Nome de objeto inválido '#T2'.