Я начинаю разрабатывать систему назначения для нескольких служб. Каждая служба имеет ограничение на количество посетителей в день.
ПРИМЕР: служба X может обрабатывать до 100 случаев в день.
Я создал хранимую процедуру для создания SEQUENCE
с эти условия:
- Dynami c ПОСЛЕДОВАТЕЛЬНОСТЬ имя по коду позади C# ASP. NET.
- Dynami c MAXVALUE по коду позади C# ASP. NET.
- Сброс в 12:00.
- Recycle
ALTER PROCEDURE [dbo].[sp_sequence_create]
@seq_name_para nvarchar(30),
@seq_max_val nvarchar(30)
AS
BEGIN
DECLARE @seqname nvarchar(30) = @seq_name_para
DECLARE @seq_max nvarchar(30) = @seq_max_val
DECLARE @SQLcreatestring NVARCHAR(MAX) =
'IF OBJECT_ID(''[dbo].['+@seqname+']'') IS NULL
BEGIN
CREATE SEQUENCE ['+@seqname+']
AS [bigint]
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 40
NO CACHE
END
ELSE
BEGIN
ALTER SEQUENCE ['+@seqname+'] MAXVALUE ['+@seq_max+'] '
EXEC(@SQLcreatestring)
END
Я передаю имя последовательности параметров и максимальное значение хранимой процедуре создание последовательности.
Ошибка при выполнении:
Ошибка преобразования типа данных nvarchar в bigint
Я пытался изменить на целое число
@seq_max bigint = @seq_max_val
Теперь появляется другая ошибка.
Пожалуйста - у кого-нибудь есть идея или другая структура для системы назначения?