sql >> Database teknologi >  >> RDS >> Sqlserver

Opret dynamisk temptabel baseret på resultatsæt fra SP

Kort svar:nej, det kan du ikke.

Du skal på forhånd deklarere din midlertidige tabel med det nøjagtige antal kolonner, der vil blive returneret fra den lagrede proc.

Løsningen er at bruge persistente tabeller. For eksempel kan du have en permanent tabel i din database kaldet someSPResults. Hver gang someSP ændres til at have et andet antal outputkolonner, skal du ændre formatet på someSPResults som en del af implementeringen.

Så kan du enten gøre dette:

insert into dbo.someSPresults
exec someSP

Eller inde i someSP, kan du få resultaterne indsat direkte i someSPresults-tabellen som en normal del af udførelsen. Du skal bare sørge for at identificere præcis, hvilke poster i nogleSPresults-tabellen, der kom fra hver udførelse af someSP, fordi den lagrede proc kunne affyres flere gange samtidigt, og derved dumpe en masse data ind i nogleSPresults.



  1. MySQL:Vælg rækker med mere end én forekomst

  2. Docker php_network_getaddresses fejl

  3. SQL ORDER BY måneder fra og med denne måned

  4. SQL Vis seneste post i GROUP BY?