Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengendalikan Parameter Dinamik dalam Pertanyaan OPENROWSET?

Bagaimana untuk Mengendalikan Parameter Dinamik dalam Pertanyaan OPENROWSET?

Linda Hamilton
Lepaskan: 2025-01-04 01:04:40
asal
213 orang telah melayarinya

How to Handle Dynamic Parameters in OPENROWSET Queries?

Parameterisasi Dinamik dalam Pertanyaan OPENROWSET

Apabila cuba menggunakan pertanyaan OPENROWSET yang menggabungkan pembolehubah, ramai individu menghadapi ralat biasa yang melibatkan "sintaks yang salah berhampiran ' '." Untuk menyelesaikan isu ini, adalah penting untuk memahami had yang dikaitkan dengan pembolehubah dalam pertanyaan OPENROWSET.

Berbeza dengan fungsi pangkalan data lain, OPENROWSET tidak membenarkan kemasukan langsung ungkapan atau pembolehubah dalam argumennya. Ini bermakna anda tidak boleh membina pernyataan OPENROWSET secara dinamik menggunakan pembolehubah.

Untuk memintas pengehadan ini, strategi yang sesuai ialah mencipta rentetan SQL dinamik yang membina pernyataan OPENROWSET secara dinamik. Rentetan ini kemudiannya boleh dilaksanakan menggunakan pernyataan EXEC. Berikut ialah ilustrasi:

Declare @ID int
Declare @sql nvarchar(max)
Set @ID=1
Set @sql='SELECT * 
FROM OPENROWSET(
               ''SQLNCLI'',
               ''DRIVER={SQL Server};'',
               ''EXEC dbo.usp_SO @ID =' + convert(varchar(10),@ID) + ''')'

-- Print @sql
 Exec(@sql)
Salin selepas log masuk

Dalam contoh ini, rentetan SQL dinamik "@sql" dibina berdasarkan parameter "@ID" yang disediakan. Selepas itu, pernyataan EXEC melaksanakan rentetan SQL dinamik ini, dengan berkesan melaksanakan pertanyaan OPENROWSET yang dikehendaki dengan nilai parameter yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Parameter Dinamik dalam Pertanyaan OPENROWSET?. 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