Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Prosedur Tersimpan untuk Mengoptimumkan Sisipan Pukal Apabila Menghadapi Ralat Sintaks `MASUKKAN PUKAL`?

Bagaimanakah Saya Boleh Menggunakan Prosedur Tersimpan untuk Mengoptimumkan Sisipan Pukal Apabila Menghadapi Ralat Sintaks `MASUKKAN PUKAL`?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-21 04:34:14626semak imbas

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

Pengoptimuman Sisipan Pukal dengan Prosedur Tersimpan

Apabila berhadapan dengan keperluan untuk mengimport jumlah data yang banyak dengan cekap, pertimbangkan untuk menggunakan arahan INSERT PUKAL. Dalam senario ini, objektifnya adalah untuk mencipta prosedur tersimpan yang melaksanakan operasi sisipan pukal.

Apabila cuba mencipta prosedur tersimpan, bagaimanapun, mesej ralat muncul, menunjukkan sintaks yang salah berhampiran "@filepath" dan " DENGAN." Ralat ini berpunca daripada pengehadan yang wujud pada arahan BULK INSERT: ia tidak boleh menerima nama fail sebagai pembolehubah.

Untuk menyelesaikan isu ini, pertimbangkan untuk membina pernyataan BULK INSERT sebagai rentetan dengan nama fail tetap, diikuti dengan melaksanakannya menggunakan SQL dinamik. Berikut ialah contoh:

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

Dengan mengikuti pendekatan ini, anda boleh mengatasi had INSERT PUKAL dan mengimport data ke dalam pangkalan data anda dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Prosedur Tersimpan untuk Mengoptimumkan Sisipan Pukal Apabila Menghadapi Ralat Sintaks `MASUKKAN PUKAL`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn