Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Masukkan jalur file secara massal sebagai parameter prosedur tersimpan

Gunakan SQL dinamis untuk menyuntikkan variabel nama file ke dalam string dengan pernyataan penyisipan massal dan gunakan sp_executesql untuk mengeksekusinya. Anda mungkin ingin menambahkan beberapa pemeriksaan kesalahan untuk memeriksa apakah jalur tersebut valid dan seterusnya.

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. Salin dalam model kedekatan

  2. Cara menggabungkan dua tabel dengan jumlah baris yang sama berdasarkan urutannya

  3. Bagaimana cara membuat langkah pekerjaan sql berhenti melaporkan kegagalan

  4. Baca JSON apa pun ke dalam daftar pasangan nilai kunci (format EAV) di SQL Server

  5. Kueri rekursif di mana jangkar dan anggota memiliki serikat pekerja