ホームページ > データベース > mysql チュートリアル > 「BULK INSERT」構文エラーが発生した場合、ストアド プロシージャを使用して一括挿入を最適化するにはどうすればよいですか?

「BULK INSERT」構文エラーが発生した場合、ストアド プロシージャを使用して一括挿入を最適化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-21 04:34:14
オリジナル
623 人が閲覧しました

How Can I Use Stored Procedures to Optimize Bulk Inserts When Facing  `BULK INSERT` Syntax Errors?

ストアド プロシージャによる一括挿入の最適化

大量のデータを効率的にインポートする必要がある場合は、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート