Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chèn hàng loạt SQL với tham số FIRSTROW bỏ qua dòng sau

Tôi không nghĩ rằng bạn có thể bỏ qua các hàng ở định dạng khác với BULK INSERT / BCP .

Khi tôi chạy cái này:

TRUNCATE TABLE so1029384

BULK INSERT so1029384
FROM 'C:\Data\test\so1029384.txt'
WITH
(
--FIRSTROW = 2,
FIELDTERMINATOR= '|',
ROWTERMINATOR = '\n'
)

SELECT * FROM so1029384

Tôi nhận được:

col1                                               col2                                               col3
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
***A NICE HEADER HERE***
0000001234               SSNV                                               00013893-03JUN09
0000005678                                         ABCD                                               00013893-03JUN09
0000009112                                         0000                                               00013893-03JUN09
0000009112                                         0000                                               00013893-03JUN09

Có vẻ như nó yêu cầu dấu '|' ngay cả trong dữ liệu tiêu đề, vì nó đọc đến cột đó vào cột đầu tiên - nuốt dòng mới vào cột đầu tiên. Rõ ràng là nếu bạn bao gồm một tham số kết thúc trường, nó sẽ hy vọng rằng mọi hàng PHẢI có một cái.

Bạn có thể tách hàng bằng một bước xử lý trước. Một khả năng khác là chỉ chọn các hàng hoàn chỉnh, sau đó xử lý chúng (không bao gồm tiêu đề). Hoặc sử dụng một công cụ có thể xử lý việc này, chẳng hạn như SSIS.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008 Windows Auth Login Error:Đăng nhập từ một miền không đáng tin cậy

  2. SQL Server - kéo X bản ghi ngẫu nhiên cho mỗi trạng thái

  3. Làm cách nào để chuyển đổi giá trị hàng thành cột có số cột động?

  4. Phát hiện khoảng thời gian bất thường bằng SQL

  5. Kiểm tra xem máy chủ SQL được liên kết có đang chạy không