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!