У меня есть созданная последовательность на моем БД-сервере, используемая для сгенерированных регистров и детализация каждого из них.Я должен создать простой документ этой детали в момент генерации, поэтому мне нужно получить текущее значение последовательности (не NEXT)
Я создаю запрос для получения желаемых данных, но мне нужно (как я уже сказал) получить текущее значение последовательности
- это моя последовательность:
CREATE SEQUENCE [dbo].[GuiaRemisionID]
AS [int]
START WITH 1000
INCREMENT BY 1
MINVALUE -2147483648
MAXVALUE 2147483647
CACHE
GO
- и это мой SP для получения данных
CREATE PROCEDURE [dbo].[CAJAS_CONS_GUIAREMISION]
AS
BEGIN
DECLARE @ID_GUIAREMISION INT
select @ID_GUIAREMISION = current_value FROM sys.sequences WHERE name = 'GuiaRemisionId' ;
SELECT
T1.ID_GUIAREMISION, T1.CLIENTE_CODIGO, T1.USUARIO, T1.FECHA_GUIA, T1.TIPO,
T2.CAJA_CODIGO, T2.CAJA_NUMERO, T2.ITEM,
T2.UBICACION_COORD1,
T2.UBICACION_COORD2, T2.UBICACION_COORD3, T2.UBICACION_COORD4,
T2.UBICACION_COORD5, T2.UBICACION_COORD6, T2.DEPARTAMENTO
FROM GUIAS_REMISION T1, GUIAS_REMISION_DETALLE T2
WHERE T1.ID_GUIAREMISION = T2.ID_GUIAREMISION
AND T1.ID_GUIAREMISION = @ID_GUIAREMISION
END
Но моя проблема заключается в следующем: «Неявное преобразование типа данных sql_variant в int недопустимо»
Как получить текущее значение моей последовательности?Должен ли я использовать: выбрать max (id_guiaRemision) из моей таблицы?(не кажется эффективным) Пожалуйста, я надеюсь, что любой может помочь мне.
С наилучшими пожеланиями