решение для создания текущего порядкового номера с помощью хранимой процедуры в SQL Server 2008 - PullRequest
0 голосов
/ 11 марта 2012

как сгенерировать текущий порядковый номер от 0001 до 9999 с помощью функции на сервере sql; если вы вызываете эту функцию на сервере sql, он должен предоставлять рабочий порядковый номер, когда он снова достигает 9999,чтобы быть сброшенным 0001

может помочь в этом, пожалуйста, для выполнения этой задачи выше

Ответы [ 5 ]

1 голос
/ 11 марта 2012

Функция не может обновлять, вставлять или удалять, поэтому вы не можете сохранить переменную и проверить ее значение при следующем вызове функции.Таким образом, нет способа сделать это с помощью функции.

1 голос
/ 11 марта 2012

Есть много хороших статей об этом.Попробуйте Google.

Например, см. здесь и там

0 голосов
/ 12 марта 2012
if @ItemsCount=0     
begin
                set @generatedSeNumber=1
end
else
   begin

SET @sql= 'insert into Senumber  values(('+@SeNumber+'))'
Exec (@sql)
0 голосов
/ 12 марта 2012

Единственный способ, которым база данных может запомнить значение, - это если оно хранится в таблице (в Oracle вы можете использовать последовательность, но SQL Server их не использует). Поэтому я бы создал одну таблицу с одной value и функция считывает значение, увеличивает его и, если необходимо, сбрасывает.

0 голосов
/ 11 марта 2012

Вы можете просто получить порядковый номер, используя следующую процедуру:

CREATE PROCEDURE proc_GetSeqNumber
AS
BEGIN
DECLARE @idt INT
SET @idt = 0
WHILE (@idt < 9999)
BEGIN
    SELECT @idt = @idt + 1
    PRINT @idt
    END
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...