Я пытаюсь установить значение хранимой процедуры, которая состоит из двух других значений.Допустим, у нас есть эта таблица
CREATE TABLE [dbo].[Consecutives]
(
[Consecutives_ID] [INT] IDENTITY(1,1) NOT NULL,
[Name] [VARCHAR](100) NULL,
[Value] [INT] NOT NULL,
[Prefix] [VARCHAR] NOT NULL,
CONSTRAINT PK_Consecutives PRIMARY KEY (Consecutives_ID)
);
, и с помощью хранимой процедуры я пытаюсь создать значение, составленное из префикса + value
INSERT INTO [dbo].[Consecutives] ([Name], [Value], [Prefix])
VALUES (Users, 50, "USR-")
Ожидаемый результат будет использоваться в качестве идентификатора для другой таблицы, теоретически мы ожидаем, что " USR-50 "
В хранимой процедуре, которую я создаю, Iне могу присоединиться к VARCHAR
с INT
, но я не могу объединить их.
Вот мой код хранимой процедуры:
CREATE PROCEDURE InsertUser
(@Name VARCHAR(100),
@LogIn VARCHAR(100),
@Pass VARCHAR(100))
AS
DECLARE @ID VARCHAR(100)
SET @ID = @ID + (SELECT [dbo].[Consecutives]([Prefix])
FROM [dbo].[Consecutives]
WHERE Name = 'Usuarios')
+
(SELECT [dbo].[Consecutives]([value])
FROM [dbo].[Consecutives]
WHERE Name = 'Usuarios')
INSERT INTO [dbo].[Users] ([User_ID], [LogIn], [Pass])
VALUES (@ID, @LogIn, @Pass)