sql >> Database >  >> RDS >> Sqlserver

T-SQL dynamische SQL- en tijdelijke tabellen

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:

  1. Maak een tijdelijke tabel
  2. Proces uitvoeren
  3. 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


  1. Retourneer een gegroepeerde lijst met voorvallen met behulp van Rails en PostgreSQL

  2. split trefwoorden voor post php mysql

  3. Hoe een poortnummer op te geven in de SQL Server-verbindingsreeks?

  4. Hoe wijzig ik de standaardwaarde van de kolom in PostgreSQL?