2017-01-03 2 views
1

Вопрос в первый раз здесь, как обычно, ответы уже предоставлены, но я не могу найти подходящую для моей проблемы.SQL46010 Синтаксис Ошибка при создании хранимой процедуры в Visual Studio 15

Я создал таблицу базы данных в Visual Studio 15 и пытаюсь создать хранимую процедуру для добавления данных. Тем не менее, я получаю ошибку SQL46010, и он указывает «Неправильный синтаксис рядом с пользователем». Мой код ниже:

CREATE PROCEDURE [dbo].[BugAddOrEdit] 
    @mode nvarchar(10), 
    @BugID int, 
    @User nvarchar(50), 
    @Subject nvarchar(50), 
    @Description nvarchar(MAX) 
AS 
    IF @mode = 'Add' 
    BEGIN 
     INSERT INTO Bugs(User, Subject, Description) 
     VALUES (@User, @Subject, @Description) 
    END 

Я просто не могу понять, как заставить его уйти. Любая помощь будет принята с благодарностью.

Большое спасибо

+0

попробовать обертывание слово '' User' вокруг [] '' как этот [User] '' – MethodMan

+0

User' является (зарезервирован) ** ключевое слово ** в SQL Server - попробуйте чтобы избежать использования его в качестве имени столбца или таблицы. Если вы ** должны ** использовать его, а затем положить в квадратные скобки: 'INSERT INTO Bugs ([Пользователь], Subject, Description) .....' - проверить [полный список зарезервированных ключевых слов для SQL Server] (https://msdn.microsoft.com/en-us/library/ms189822.aspx) и старайтесь избегать их в качестве идентификаторов кода –

ответ

1
CREATE PROCEDURE [dbo].[BugAddOrEdit] 
    @mode nvarchar(10), 
    @BugID int, 
    @User nvarchar(50), 
    @Subject nvarchar(50), 
    @Description nvarchar(MAX) 
AS 
    IF @mode = 'Add' 
    BEGIN 
     INSERT INTO Bugs([User], Subject, Description) 
     VALUES (@User, @Subject, @Description) 
    END 
+1

Большое вам спасибо. Это сделал трюк. Я знал, что это будет что-то простое, но я просто не мог найти ответ нигде. еще раз спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^