Неверный синтаксис рядом с ключевым словом «Транзакция» - PullRequest
2 голосов
/ 01 января 2012

Я использую SQL Server Management Studio 2008 и пишу следующий запрос

INSERT INTO Transaction (TransactionType, AccountID, HolderName, Amount, CurrDate) 
VALUES ('Cash Withdrawal', '25', 'abc', '1000', 'abc');

, а сценарий для таблицы:

SELECT TOP 1000 [ID]
      ,[TransactionType]
      ,[AccountID]
      ,[HolderName]
      ,[Amount]
      ,[CurrDate]
  FROM [ATMSoftware].[dbo].[Transaction]

, а ID - это первичный ключ, и autoувеличивается.Но я получаю сообщение об ошибке на запрос вставки

Неверный синтаксис рядом с ключевым словом "Транзакция".

Пожалуйста, помогите мне

С уважением

Ответы [ 4 ]

10 голосов
/ 01 января 2012

Transaction - зарезервированное ключевое слово в SQL Server.Вам нужно заключить имя таблицы в [], чтобы сообщить SQL Server, что это имя, а не ключевое слово:

INSERT INTO [Transaction] 
       (TransactionType,AccountID,HolderName,Amount,CurrDate) 
VALUES 
       ('Cash Withdrawal','25','abc','1000','abc');
8 голосов
/ 01 января 2012

Transaction является зарезервированным словом .Поместите его в квадратные скобки.

INSERT INTO [Transaction](TransactionType, AccountID, HolderName, Amount, CurrDate) 
    VALUES ('Cash Withdrawal', '25', 'abc', '1000', 'abc');

В случае сомнений, укажите имена объектов в квадратных скобках.

2 голосов
/ 01 января 2012
INSERT INTO [Transaction](TransactionType, AccountID, HolderName, Amount, CurrDate) 
VALUES ('Cash Withdrawal', '25', 'abc', '1000', 'abc');

Это наверняка сработает для вас ... Потому что транзакция - это KeyWord в управлении SQL. у меня однажды была похожая проблема, и [] помог мне выйти из нее.

Проголосуйте или примите, если это работает на вас ..

1 голос
/ 01 января 2012

вам нужно приложить ваше имя таблицы, которое является транзакцией с [ и ] .Транзакция является зарезервированным словом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...