U moet eerst uw tabel maken, daarna is deze beschikbaar in de dynamische SQL.
Dit werkt:
CREATE TABLE #temp3 (id INT)
EXEC ('insert #temp3 values(1)')
SELECT *
FROM #temp3
Dit werkt niet:
EXEC (
'create table #temp2 (id int)
insert #temp2 values(1)'
)
SELECT *
FROM #temp2
Met andere woorden:
- Maak een tijdelijke tabel
- Proces uitvoeren
- Selecteer uit tijdelijke tabel
Hier is een compleet voorbeeld:
CREATE PROC prTest2 @var VARCHAR(100)
AS
EXEC (@var)
GO
CREATE TABLE #temp (id INT)
EXEC prTest2 'insert #temp values(1)'
SELECT *
FROM #temp