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

Sådan opretter du midlertidige tabeller i SQL Server via MS Access

Her er et uddrag af VBA-kode, jeg brugte til at kalde en DB2-lagret procedure. Den samme teknik burde fungere for enhver DDL-sætning. For at gøre dette skal du oprette en pass-through-forespørgsel og indsætte din CREATE TABLE #tblname... sætning som sin SQL-tekst.

VIGTIGT:Åbn derefter forespørgslens egenskabsark, og indstil egenskaben "Returner Records" til "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

Bemærk, du behøver sandsynligvis ikke at ændre din SQL-tekst. Du kan bare lade det stå i forespørgslen def, hvis tabelstrukturen aldrig ændres.

Udfordringen for dig er, at du skal bruge den samme forbindelse til alle operationer mod vikartabellen. I det øjeblik forbindelsen er lukket, vil din midlertidige tabel forsvinde, fordi det er en lokal midlertidig tabel, og den er kun synlig for den ene forbindelse. Du kan undgå dette ved at bruge '##', globale midlertidige tabeller, hvis du har rettigheder til det.



  1. ønsker at tælle antallet af hverdage mellem 2 datoer

  2. Hvorfor vender pg_restore tilbage med succes, men gendannes faktisk ikke min database?

  3. Er der en måde at cache en visning på, så forespørgsler mod den er hurtige?

  4. Tilføjelse af en ekstra kolonneværdi med INSERT ... SELECT i MySQL