Rumah > pangkalan data > tutorial mysql > Bagaimana Menggunakan Pembolehubah dengan INSERT PUKAL dalam Prosedur Tersimpan SQL?

Bagaimana Menggunakan Pembolehubah dengan INSERT PUKAL dalam Prosedur Tersimpan SQL?

Susan Sarandon
Lepaskan: 2024-12-26 12:50:11
asal
815 orang telah melayarinya

How to Use Variables with BULK INSERT in a SQL Stored Procedure?

Sisipkan Data Pukal menggunakan Prosedur Tersimpan

Anda telah membuat pertanyaan yang berjaya melaksanakan tugas sisipan pukal. Walau bagaimanapun, anda kini ingin merangkum pertanyaan ini dalam prosedur tersimpan untuk meningkatkan kebolehgunaan semula. Malangnya, anda telah mengalami ralat sintaks semasa cuba berbuat demikian.

Inti isu terletak pada ketidakupayaan perintah INSERT PUKAL untuk menerima nama fail sebagai pembolehubah. Walaupun kod anda kelihatan betul dari segi sintaksis, coretan kod berikut akan gagal:

DECLARE @filename VARCHAR(255)
SET @filename = 'e:-digit Commercial.csv' 

BULK INSERT ZIPCodes 
FROM @filename
WITH 
Salin selepas log masuk

Oleh itu, tidak mungkin untuk menghantar nama fail sebagai pembolehubah kepada penyata INSERT PUKAL. Sebaliknya, anda boleh membina kenyataan INSERT PUKAL secara dinamik sebagai rentetan dan 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
Salin selepas log masuk

Kod ini memberikan laluan fail kepada pembolehubah @filepath. Ia kemudian membina pernyataan INSERT PUKAL sebagai rentetan dan menyimpannya dalam pembolehubah @bulkinsert. Akhirnya, prosedur SQL dinamik sp_executesql digunakan untuk melaksanakan pernyataan yang dibina. Pendekatan ini membolehkan anda membuat parameter laluan fail dan melaksanakan pernyataan INSERT PUKAL dalam prosedur tersimpan dengan berkesan.

Atas ialah kandungan terperinci Bagaimana Menggunakan Pembolehubah dengan INSERT PUKAL dalam Prosedur Tersimpan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan