sql >> Database >  >> RDS >> Sqlserver

Tijdelijke tabellen maken in SQL Server via MS Access

Hier is een fragment van VBA-code die ik heb gebruikt om een ​​DB2 opgeslagen procedure aan te roepen. Dezelfde techniek zou moeten werken voor elke DDL-instructie. Om dit te doen, maakt u een pass-through-query en plaatst u uw CREATE TABLE #tblname... statement als zijn SQL-tekst.

BELANGRIJK:open vervolgens het eigenschappenblad van de query en stel de eigenschap 'Retourrecords' in op 'Nee'.

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

Let op, u hoeft uw SQL-tekst waarschijnlijk niet te wijzigen. Je kunt dat gewoon in de querydef laten staan ​​als de tabelstructuur nooit verandert.

De uitdaging voor u is dat u dezelfde verbinding moet gebruiken voor alle bewerkingen tegen de tijdelijke tabel. Op het moment dat de verbinding wordt gesloten, verdwijnt je tijdelijke tabel omdat het een lokale tijdelijke tabel is en alleen zichtbaar is voor die ene verbinding. Je kunt dit voorkomen door '##', globale tijdelijke tabellen te gebruiken, als je daar rechten voor hebt.



  1. PHP json_encode Probleem met backslash en arraynaam

  2. Hoe de gebruiker te beperken tot het uploaden van slechts drie afbeeldingen in een maand met behulp van PHP/MySQL

  3. Opgeslagen procedure uitvoeren met een uitvoerparameter?

  4. Integer buiten bereik op Postgres DB