sql >> Database >  >> RDS >> Sqlserver

Kan ik een invoer-sql-bestand specificeren met bcp?

Ik had vandaag dit probleem en vond een handige oplossing, althans in een ad-hocsituatie.

Tijdelijke tabellen kunnen worden gemaakt door elke gebruiker met verbindingsmachtigingen. Dit betekent dat u ook GLOBAL tijdelijke tabellen kunt maken.

Voer uw query gewoon uit in enterprise manager (of sql cmd of wat dan ook) met SELECT ...INTO met een globale tijdelijke tabel, bijvoorbeeld

SELECT * 
INTO ##mytemptable
FROM SomeTable 
WHERE [massive where clause, for example] 

U kunt dan de tijdelijke tabel in de BCP-query gebruiken met een simpele

SELECT * FROM ##mytemptable

Laat de tijdelijke tabel dan vallen via enterprise manager

DROP TABLE ##mytemptable


  1. Oracle-ref-cursor gebruiken in Java zonder Oracle-afhankelijkheid

  2. Hoe voeg ik 2 datums toe in Oracle sp?

  3. PHP &PDO:één verbinding versus meer dan één verbindingen

  4. Mislukte verwerking van formaatparameters met mysql.connector in Python