Rumah > pangkalan data > tutorial mysql > Mengapa Prosedur Tersimpan Saya Mendapat Ralat 'Terlalu Banyak Argumen'?

Mengapa Prosedur Tersimpan Saya Mendapat Ralat 'Terlalu Banyak Argumen'?

Barbara Streisand
Lepaskan: 2024-12-22 14:29:22
asal
960 orang telah melayarinya

Why Does My Stored Procedure Get a

Prosedur atau Fungsi Mempunyai Terlalu Banyak Argumen Ditentukan

Apabila menghadapi mesej ralat ini, ia menunjukkan bahawa bilangan argumen yang berlebihan telah disediakan semasa pemanggilan prosedur atau fungsi tersimpan. Mengenal pasti punca ralat boleh menjadi penting untuk menyelesaikan isu.

Mengenal pasti Sumber Ralat

Dalam senario yang diberikan, ralat berlaku semasa memanggil yang disimpan prosedur [dbo].[M_UPDATES], yang seterusnya menggunakan prosedur tersimpan lain, [etl_M_Update_Promo]. Setelah diperiksa, terbukti bahawa [dbo].[M_UPDATES] cuba memanggil [etl_M_Update_Promo] dengan dua parameter, manakala pengisytiharan [etl_M_Update_Promo] hanya menetapkan satu parameter.

Kod untuk [dbo].[M_KEMASKINI]

EXEC etl.etl_M_Update_Promo @GenID, @Description
Salin selepas log masuk

Kod untuk [etl_M_Update_Promo]

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0
as
Salin selepas log masuk

Seperti yang anda lihat, [etl_M_Update_Promo] diisytiharkan kepada ambil hanya parameter @GenId, mengakibatkan ralat mesej.

Resolusi

Untuk menyelesaikan isu ini, adalah perlu untuk mengubah suai pengisytiharan [etl_M_Update_Promo] untuk memasukkan parameter tambahan, @Description. Dengan berbuat demikian, fungsi akan dapat menampung dua parameter yang disediakan oleh [dbo].[M_UPDATES].

Kod Kemas Kini untuk [etl_M_Update_Promo]

ALTER PROCEDURE [etl].[etl_M_Update_Promo]
@GenId bigint = 0,
@Description NVARCHAR(50)
AS
Salin selepas log masuk

Selepas mengemas kini perisytiharan, ralat harus diselesaikan, membenarkan prosedur berfungsi sebagai dimaksudkan.

Atas ialah kandungan terperinci Mengapa Prosedur Tersimpan Saya Mendapat Ralat 'Terlalu Banyak Argumen'?. 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