Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Групово вмъкване на пътя на файла като параметър на съхранена процедура

Използвайте динамичен SQL, за да инжектирате променливата на името на файла в низ с оператора за групово вмъкване и използването на sp_executesql да го изпълним. Може да искате да добавите проверка за грешки, за да проверите дали пътят е валиден и т.н.

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. pyodbc.connect() работи, но не и sqlalchemy.create_engine().connect()

  2. Неправилен синтаксис в близост до ключовата дума „с“.

  3. Намерете min и max за подмножества от последователни редове - пропуски и острови

  4. Разлика между числови, плаващи и десетични числа в SQL Server

  5. SQL Server 2014:Естествено архивно криптиране