Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 Loop and increase values?

Author  Topic 

pirre001
Starting Member

11 Posts

Posted - 2014-07-04 : 17:06:22
I have a small problem that I need help with.

I have a loop that adds the values ??into a table from a store procedure that I use in a select. The SP can return one or more rows. t_rownr tells which row it is. It always starts at 1.This is working properly. The problem is that I have a loop that is outside it. If ct_max value is greater than 1, it shall repeat the select and insert. This is where the problem comes. My select returns the same value, but I want it to increase t_rownr each time the loop is executed.

Example If ct_max = 4:

Select returns
t_rownr --- t_type
---------------------
1------------ER12
2------------ES53
3------------EC81


First insert
c_rownr --- c_type
---------------------
1------------ER12
2------------ES53
3------------EC81

Second insert
c_rownr --- c_type
---------------------
4------------ER12
5------------ES53
6------------EC81

Third insert
c_rownr --- c_type
---------------------
7------------ER12
8------------ES53
9------------EC81

Fourth insert
c_rownr --- c_type
---------------------
10------------ER12
11------------ES53
12------------EC81

This may not be the right or best way to clone lines and increase t_rownr every time the clone?

I've tried to add this to enumerate the line number (t_rownr + ct_counter) -1. It works if the select returns only one row, but not when it retunerar several rows.

SET ct_counter = 1;
WHILE ct_counter <= ct_max LOOP
INSERT INTO tblTest(c_rownr, c_type)
SELECT (t_rownr + ct_counter) -1 ,t_type from sp_calValue(234,33)
SET ct_counter = ct_counter + 1;
END LOOP;

Someone who can help me solve this?
   

- Advertisement -