cursorfetch: Error | SQL Server Performance Forums

SQL Server Performance Forum – Threads Archive

cursorfetch: Error

Hi all, Am getting the following error wholce executing the stored procedure… Can neone help me out?? Cursorfetch: The number of variables declared in the INTO list must match that of selected columns The stored proicedure which am executing is – ALTER procedure p_Test
@cName varchar(100) as
declare @s varchar(1000)
declare @tabname varchar(200)
Declare @sql varchar(1000)
declare @Settings_Protokollieren tinyint
declare @Settings_Neuanlage tinyint
declare @Settings_PreisErhoehung tinyint
declare @Settings_PreisVerminderung tinyint
declare @Settings_MengenrabattErhoehung tinyint
declare @Settings_MengenrabattVerminderung tinyint
declare @Settings_Loeschen tinyint
declare @Settings_ArtikelstammPreiskalkulation tinyint
declare @Settings_ArtikelEKPreiskalkulation tinyint
declare @Settings_ArtikelEKMengenrabattKalk tinyint
declare @Settings_Artikelpreisbasis int
declare @Settings_dummy int
declare @Settings_Bestellart varchar (10)
declare @Settings_Markencode varchar (10)
declare @Settings_Artikelgruppe varchar (10)
declare @Settings_ArtikelEKPreisgruppe varchar (10)
declare @Settings_AuslaufdatumMengenrabatt tinyint
declare @Settings_LagerortpreiseKalkulieren tinyint
declare @Settings_ArtikelpreiseArtikelpreiseNachKategorie int
declare @Settings_ArtikelVKPreiseKalkulieren tinyint
declare @Settings_ArtikelVKPreiseLoeschen tinyint
DECLARE settings_curs CURSOR FOR
SELECT [Log],
[Creation],
[Price Increase],
[Price Reduction],
[Quantity Disc_ Increase],
[Quantity Disc_ Reduction],
[Delete],
[Item File Price Calculation],’
[Item Purch_ Price Calculation], [Item Purch_Qty_ Disc_ Calc_], [Item Price Base],
[Purch_ Order Type], [Make Code], [Item Group], [Item Purch_ Price Group],
[Qty_ Discount Expiration Date], [Calculate Location Prices], [Item Prices]
[Calculate Item Sales Prices], [Delete Item Sales Prices] FROM [dbo].[Item Price Calculation Setup] WHERE [Primary Key] = ”
OPEN settings_curs
FETCH NEXT FROM settings_curs INTO
@Settings_Protokollieren ,
@Settings_Neuanlage ,
@Settings_PreisErhoehung ,
@Settings_PreisVerminderung ,
@Settings_MengenrabattErhoehung ,
@Settings_MengenrabattVerminderung ,
@Settings_Loeschen ,
@Settings_ArtikelstammPreiskalkulation ,
@Settings_ArtikelEKPreiskalkulation ,
@Settings_ArtikelEKMengenrabattKalk ,
@Settings_Artikelpreisbasis ,
@Settings_Bestellart ,
@Settings_Markencode ,
@Settings_Artikelgruppe ,
@Settings_ArtikelEKPreisgruppe ,
@Settings_AuslaufdatumMengenrabatt ,
@Settings_LagerortpreiseKalkulieren ,
@Settings_ArtikelpreiseArtikelpreiseNachKategorie ,
@Settings_ArtikelVKPreiseKalkulieren ,
@Settings_ArtikelVKPreiseLoeschen ,
CLOSE settings_curs
DEALLOCATE settings_curs
Thanks
Sri
Is it due to any syntax error:
may change this:
quote:Originally posted by Sri316 Hi all, Am getting the following error wholce executing the stored procedure… Can neone help me out?? Cursorfetch: The number of variables declared in the INTO list must match that of selected columns The stored proicedure which am executing is – ALTER procedure p_Test
@cName varchar(100) as
declare @s varchar(1000)
declare @tabname varchar(200)
Declare @sql varchar(1000)
declare @Settings_Protokollieren tinyint
declare @Settings_Neuanlage tinyint
declare @Settings_PreisErhoehung tinyint
declare @Settings_PreisVerminderung tinyint
declare @Settings_MengenrabattErhoehung tinyint
declare @Settings_MengenrabattVerminderung tinyint
declare @Settings_Loeschen tinyint
declare @Settings_ArtikelstammPreiskalkulation tinyint
declare @Settings_ArtikelEKPreiskalkulation tinyint
declare @Settings_ArtikelEKMengenrabattKalk tinyint
declare @Settings_Artikelpreisbasis int
declare @Settings_dummy int
declare @Settings_Bestellart varchar (10)
declare @Settings_Markencode varchar (10)
declare @Settings_Artikelgruppe varchar (10)
declare @Settings_ArtikelEKPreisgruppe varchar (10)
declare @Settings_AuslaufdatumMengenrabatt tinyint
declare @Settings_LagerortpreiseKalkulieren tinyint
declare @Settings_ArtikelpreiseArtikelpreiseNachKategorie int
declare @Settings_ArtikelVKPreiseKalkulieren tinyint
declare @Settings_ArtikelVKPreiseLoeschen tinyint
DECLARE settings_curs CURSOR FOR
SELECT [Log],
[Creation],
[Price Increase],
[Price Reduction],
[Quantity Disc_ Increase],
[Quantity Disc_ Reduction],
[Delete],
[Item File Price Calculation],’
[Item Purch_ Price Calculation], [Item Purch_Qty_ Disc_ Calc_], [Item Price Base],
[Purch_ Order Type], [Make Code], [Item Group], [Item Purch_ Price Group],
[Qty_ Discount Expiration Date], [Calculate Location Prices], [Item Prices],
[Calculate Item Sales Prices], [Delete Item Sales Prices] FROM [dbo].[Item Price Calculation Setup] WHERE [Primary Key] = ”
OPEN settings_curs
FETCH NEXT FROM settings_curs INTO
@Settings_Protokollieren ,
@Settings_Neuanlage ,
@Settings_PreisErhoehung ,
@Settings_PreisVerminderung ,
@Settings_MengenrabattErhoehung ,
@Settings_MengenrabattVerminderung ,
@Settings_Loeschen ,
@Settings_ArtikelstammPreiskalkulation ,
@Settings_ArtikelEKPreiskalkulation ,
@Settings_ArtikelEKMengenrabattKalk ,
@Settings_Artikelpreisbasis ,
@Settings_Bestellart ,
@Settings_Markencode ,
@Settings_Artikelgruppe ,
@Settings_ArtikelEKPreisgruppe ,
@Settings_AuslaufdatumMengenrabatt ,
@Settings_LagerortpreiseKalkulieren ,
@Settings_ArtikelpreiseArtikelpreiseNachKategorie ,
@Settings_ArtikelVKPreiseKalkulieren ,
@Settings_ArtikelVKPreiseLoeschen
CLOSE settings_curs
DEALLOCATE settings_curs
Thanks
Sri

In the cursor declaration, there’s a single quote in a funny place …
[Item File Price Calculation],’ … this single quote in itself should produce an error when you actually try to ALTER the procedure – as far as I can see the ALTER would fail! … and then there’s a comma after the last column in the FETCH statement – which you shouldn’t have:
@Settings_ArtikelVKPreiseLoeschen , … this should also make the ALTER fail! Are you by any chance compiling dynamic T-SQL script? What will you be doing with those 20 parameters? To be honest, this looks a bit like code from a programmer who is new to T-SQL, and doesn’t know how to do set-based programming.
Just out of curiosity. How come you use German for your procedure? —
Frank Kalis
Microsoft SQL Server MVP
http://www.insidesql.de
Heute schon gebloggt?http://www.insidesql.de/blogs
Ich unterstuetze PASS Deutschland e.V. http://www.sqlpass.de)
]]>