I have this table and Stored proc function:
Table:
CREATE TABLE _DMigNumbers(
Number numeric(20,0) NOT NULL PRIMARY KEY
);
INSERT INTO _DMigNumbers VALUES(0)
Stored proc function:
CREATE FUNCTION read_and_increment()
RETURNS NUMERIC(20,0)
BEGIN
DECLARE @number_just_read NUMERIC(20,0);
SELECT number INTO @number_just_read
FROM _DMigNumbers;
UPDATE _DMigNumbers
SET number = number + 1;
RETURN @number_just_read;
End
and I create this Numbers table as well
CREATE TABLE _Numbers (
Number int NOT NULL PRIMARY KEY
);
INSERT INTO _Numbers VALUES(1)
INSERT INTO _Numbers VALUES(2)
INSERT INTO _Numbers VALUES(3)
INSERT INTO _Numbers VALUES(4)
NOW:
when I do this:
select
f.Number
,read_and_increment()
from _Numbers f
I get :
Number-----Value 1 0 2 0 3 0 4 0
I want different value like (0,1,2,3) - what do I need to do to achieve this?
I understand that I am getting the same values because of the single Select, but not sure what I need to do to get what I am after at the moment......
I cannot use IDENTITY or autoincrement see my previous question for more details if interested...
Thanks,
Voodoo