การเอา Textfile เข้า Temptable ด้วย MSSQL

การเอา Textfile เข้า ฐานข้อมูล MSSQL จริงๆ ไม่ต้องใช้ Temptable ก็ได้ ถ้าใช้บ่อย สร้างเป็นถาวรก็น่าจะใช้งานได้ง่ายกว่า แต่สำหรับผมเองผมว่าเอาเข้า Temptable ไว้ก่อน แล้วค่อยเอามาใช้จริงๆ แต่สำหรับการเขียน Webที่ Connection เปิดหนึ่งครั้ง ปิดหนึ่งครั้ง Temptable ก็หายไปบางครั้งก็คงไม่เหมาะ

ขั้นแรกก็สร้าง Temptable ซะก่อน ด้วยคำสั่ง Create table ธรรมดานี่แหละครับ เพียงแต่ใส่ # ไว้ข้างหน้าเพื่อบอกว่าเป็น Temptable

CREATE TABLE #tempdata (
id varchar(4),
usr VARCHAR(100),
pwd VARCHAR(100)
)

โครงสร้างไฟล์ text ที่จะเอาเข้าจะเป็นแบบนี้

1,pixelbar,123
2,pixelable,1234
3,iopixel,123

ซึ่งจะเรียงก็จะเป็น id,username,password

จากนั้นเราจะเอา text file เข้า สมมุติมันอยู่ใน Drive C ของ Server ชื่อไฟล์ abc.csv

BULK INSERT #tempdata

FROM 'c:\abc.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

แค่นี้เราก็สามารถ select ดูข้อมูลได้แล้วครับ จะเอา้ข้อมูลไป Insert ต่อ หรือว่า จะไปปู้ยี่ปู้ยำอะไรก็ได้ สบายๆครับ

Leave a Reply