sql >> Databáze >  >> RDS >> Sqlserver

Hromadně vložit cestu k souboru jako parametr uložené procedury

Použijte dynamické SQL k vložení proměnné názvu souboru do řetězce pomocí příkazu hromadného vložení a použití sp_executesql provést to. Možná budete chtít přidat nějakou kontrolu chyb, abyste zkontrolovali, zda je cesta platná a tak dále.

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. Řešení nesprávného kódování znaků při zobrazování výsledků databáze MySQL po upgradu na PHP 5.3

  2. Oracle jak exportovat dotaz do textového/csv souboru

  3. Nezobrazovat prázdné návratové sady

  4. Zabránit uživatelům mít stejné uživatelské jméno