ストアド プロシージャによる一括挿入の最適化
大量のデータを効率的にインポートする必要がある場合は、BULK INSERT コマンドの使用を検討してください。このシナリオの目的は、一括挿入操作を実行するストアド プロシージャを作成することです。
ストアド プロシージャを作成しようとすると、"@filepath" と " の近くの構文が間違っていることを示すエラー メッセージが表示されます。と。"このエラーは、BULK INSERT コマンドの固有の制限に起因します。つまり、ファイル名を変数として受け入れることができません。
この問題を解決するには、BULK INSERT ステートメントを、固定ファイル名を含む文字列として構築することを検討してください。動的 SQL を使用して実行します。以下に例を示します。
DECLARE @filepath nvarchar(500) SET @filepath = N'e:-digit Commercial.csv' DECLARE @bulkinsert NVARCHAR(2000) SET @bulkinsert = N'BULK INSERT ZIPCodes FROM ''' + @filepath + N''' WITH (FIRSTROW = 2, FIELDTERMINATOR = '','', ROWTERMINATOR = ''\n'')' EXEC sp_executesql @bulkinsert
このアプローチに従うことで、BULK INSERT の制限を克服し、データをデータベースに効率的にインポートできます。
以上が「BULK INSERT」構文エラーが発生した場合、ストアド プロシージャを使用して一括挿入を最適化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。