Преобразование значения хранимой процедуры - PullRequest
4 голосов
/ 16 марта 2019

Я пытаюсь установить значение хранимой процедуры, которая состоит из двух других значений.Допустим, у нас есть эта таблица

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)

1 Ответ

3 голосов
/ 16 марта 2019

Я думаю, что в процедуре много ошибок, проверьте следующий синтаксис:

CREATE PROCEDURE InsertUser
(
    @Name varchar(100),
    @LogIn varchar(100),
    @Pass varchar(100)
)
AS

DECLARE @ID varchar(100)

SELECT @ID = CAST([Prefix] AS VARCHAR(50)) + 
             CAST([value]  AS VARCHAR(50))
FROM [dbo].[Consecutives]
WHERE Name = @Name)

INSERT INTO [dbo].[Users] ([User_ID], [LogIn], [Pass])
VALUES (@ID,@LogIn,@Pass)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...