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

Đặt hàng trong SQL Server

Tôi thấy rằng tôi có thể duy trì thứ tự bảng nguồn bằng cách sử dụng BULK INSERT vào một tệp, tiếp theo là thêm danh tính.

Đưa ra một bảng được phân cách bằng tab, C:\MyTable.txt , nơi tôi đã cố tình di chuyển các hàng không theo thứ tự:

FileName    FileType
wmsetup log
bar txt
wmsetup10   log
WMSysPr9    prx
WMSysPrx    prx
Wudf01000Inst   log
xpsp1hfm    log
_default    pif
0   log
002391_ tmp
005766_ tmp

Tôi đã chạy phần sau và giữ nguyên thứ tự tệp văn bản trong SQL Server:

IF EXISTS(
    SELECT 1
    FROM sys.tables t
    INNER JOIN sys.schemas s on s.schema_id=t.schema_id
    WHERE t.name='myTable'
    AND t.[type]='U'
    AND s.name='dbo'
)
DROP TABLE myTable
GO

CREATE TABLE dbo.myTable(FileName VARCHAR(80), FileType VARCHAR(30))
GO

BULK INSERT myTable FROM 'C:\MyTable.txt' WITH (
firstrow=2
, fieldterminator='\t'
, rowterminator='\n'
)
GO

ALTER TABLE myTable ADD ID INT IDENTITY(1,1)
GO

SELECT * FROM myTable
GO

Kết quả:

FileName        FileType ID
--------------- -------- -----------
wmsetup         log      1
bar             txt      2
wmsetup10       log      3
WMSysPr9        prx      4
WMSysPrx        prx      5
Wudf01000Inst   log      6
xpsp1hfm        log      7
_default        pif      8
0               log      9
002391_         tmp      10
005766_         tmp      11



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu quy trình gọi được lưu trữ trong SQL Server

  2. Ngăn chặn SQL Injection trong mệnh đề ORDER BY

  3. Cách chèn dữ liệu Excel hoặc CSV vào Bảng bằng cách sử dụng Giao diện người dùng đồ họa trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 102

  4. Vô hiệu hóa tất cả các chỉ mục không được phân nhóm

  5. Hợp nhất phiên bản SQL Server bằng cách phân cụm và xếp chồng