sql >> Databáze >  >> RDS >> Sqlserver

HROMADNÉ INSERT z řetězce odděleného čárkou

Nejsem si jistý, zda existuje nějaký přímý způsob, jak to udělat v T-SQL, ale pokud chcete použít hromadné vkládání, můžete použít sqlcmd exportovat do souboru CSV a poté soubor importovat zpět na server pomocí hromadného vložení.

Vytvořte dbo.Split Functionm, můžete odkazovat zde rozdělit řetězec do více záznamů Existuje spousta dobrých příkladů.

pokud chcete spustit jako dávkový proces, můžete spustit sqlcmd a 'Hromadné vkládání'

sqlcmd -S MyServer -d myDB -E -Q "select dbo.Split(col1) from SomeTable" 
       -o "MyData.csv" -h-1 -s"," -w 700

-s"," sets the column seperator to 

bulk insert destTable
from "MyData.csv"
with 
(
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n'
)

Jinak můžete manipulovat přímo v T-SQL, ale za předpokladu, že máte stejnou identifikaci definice sloupců.

 INSERT INTO DestinationTable
 SELECT dbo.Split(col1) FROM SomeTable


  1. jak aktualizovat databázi postupně pomocí mysql

  2. MySQL Objednávka před Seskupit podle

  3. Výjimka v hlavním vláknu org.hibernate.HibernateException:Chyba při přístupu k datovému proudu stax

  4. Konec podpory pro SQL Server 2008 a 2008 R2