我有这个表和存储过程函数:
表格:
CREATE TABLE _DMigNumbers(
Number numeric(20,0) NOT NULL PRIMARY KEY
);
INSERT INTO _DMigNumbers VALUES(0)
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
我也创建了这个数字表
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)
现在:
当我这样做时:
select
f.Number
,read_and_increment()
from _Numbers f
Number-----Value
1 0
2 0
3 0
4 0
我明白,我得到相同的价值观,因为单一的选择,但不知道我需要做什么,以获得我现在所追求的。。。。。。
我不能使用IDENTITY或autoincrement查看
my previous question for more details if interested...
伏都教