sql >> Databasteknik >  >> RDS >> Sqlserver

Använda Temp-tabeller i SSIS

UPPDATERA november 2020.
Det här inlägget har ersatts av Hur man EXECAR en lagrad procedur från SSIS för att få dess utdata till textfil som beskriver hur man kör en lagrad procedur från SSIS

exec mySproc WITH RESULT SETS ((i int))

titta på lösningen från Troy Witthoeft

Gammalt svar
Det finns en annan lösning som nämns på https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata . Titta på alternativ 3.(november 2020; uppdaterad länk)

Citat:Lägg till lite metadata och "set nocount on" till den lagrade proceduren med en "short circuited if-sats" (om 1=0), och en falsk select-sats överst. Jag har testat med att försöka lämna "set nocount on" ute och det fungerade inte.

CREATE PROCEDURE [dbo] . [GenMetadata] AS 
SET NOCOUNT ON 
IF 1 = 0 
    BEGIN
         -- Publish metadata 
        SELECT   CAST (NULL AS INT ) AS id , 
                CAST (NULL AS NCHAR ( 10 )) AS [Name] , 
                CAST (NULL AS NCHAR ( 10 )) AS SirName 
    END 

 -- Do real work starting here 
CREATE TABLE #test 
    ( 
      [id] [int] NULL, 
      [Name] [nchar] ( 10 ) NULL, 
      [SirName] [nchar] ( 10 ) NULL 
    ) 


  1. postgresql lagrad procedur med fråga på flera scheman

  2. långsam mysql-fråga som måste köras hundratusentals gånger per timme

  3. jQuery Connected Sorterbara listor, spara ordning till MySQL

  4. Ska tabellvärdade parametrar användas här?