sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man skapar temporära tabeller i SQL Server via MS Access

Här är ett stycke VBA-kod som jag använde för att anropa en lagrad DB2-procedur. Samma teknik bör fungera för alla DDL-satser. För att göra detta, skapa en pass-through-fråga och ange din CREATE TABLE #tblname... uttalande som dess SQL-text.

VIKTIGT:Öppna sedan sökfrågans egenskapsblad och ställ in egenskapen "Returner Records" till "No".

Dim qdf As QueryDef
Set qdf = CurrentDb.QueryDefs("qry_SP_CHANGE_COLUMN")
qdf.Connect = CurrentDb.TableDefs("SCHEMA_tblName").Connect
qdf.SQL = "call SCHEMA.SP_CHANGE_COLUMN(...)"
qdf.Execute dbFailOnError
qdf.Close
Set qdf = Nothing

Observera att du förmodligen inte behöver ändra din SQL-text. Du kan bara lämna det i frågan def om tabellstrukturen aldrig ändras.

Utmaningen för dig är att du måste använda samma anslutning för alla operationer mot temptabellen. Så fort anslutningen stängs kommer din temptabell att försvinna eftersom det är en lokal temptabell och den är bara synlig för den anslutningen. Du kan undvika detta genom att använda '##', globala temporära tabeller, om du har rättigheter att göra det.



  1. Stöder Oracle DB flera (parallella) operationer per anslutning?

  2. Använder DISTINCT för specifika kolumner

  3. Hur lagrar MySQL data

  4. Finns det ett verktyg för att skapa en fullständig DDL-databas för SQL Server? Vad sägs om Postgres och MySQL?