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

Chèn hàng loạt đường dẫn tệp làm tham số thủ tục được lưu trữ

Sử dụng SQL động để đưa biến tên tệp vào một chuỗi bằng câu lệnh chèn số lượng lớn và sử dụng sp_executesql để thực hiện nó. Bạn có thể muốn thêm một số kiểm tra lỗi để kiểm tra xem đường dẫn có hợp lệ không, v.v.

CREATE PROCEDURE [importFile] (@filePath VARCHAR(MAX))
AS
BEGIN
    CREATE TABLE #Temp
    (
      row1 int,
      row2 varchar(5),
      row3 bit
    )

    DECLARE @SQL NVARCHAR(MAX) = ''
    SET @SQL = N'
    BULK INSERT #Temp
      FROM ''' + @filePath + '''
      WITH (
        FIELDTERMINATOR = '','',
        ROWTERMINATOR = ''\n''
      )'

     -- ...

     EXEC sp_executesql @SQL
END

-- to run it:
EXEC importFile 'd:\test.csv'



  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ạo một hàm có giá trị bảng trong SQL Server

  2. Làm cách nào để CHỌN nhiều cột trong CASE WHEN trên SQL Server?

  3. Hàm tổng hợp MIN và MAX trong SQL Server

  4. Làm cách nào để bạn loại bỏ tất cả các kết nối hiện tại đến cơ sở dữ liệu SQL Server 2005?

  5. SQL Server, Làm thế nào để đặt tự động tăng sau khi tạo bảng mà không bị mất dữ liệu?