2013-12-18 6 views
-1

Я не понимаю, где ошибка. Я делал это миллион раз раньше, но по какой-то причине эта ошибка продолжает расти. Вот мои Создание таблицы заявления:Неверный синтаксис рядом с ключевым словом «транзакция» SQL-вставки:

CREATE TABLE chf.Transaction 
(
TransactionID INT IDENTITY(1,1) PRIMARY KEY, 
AmtDue MONEY, 
DiscountPercent DECIMAL(5,2), 
AmtPaid MONEY, 
Date DATETIME, 
) 
GO 

CREATE TABLE chf.Agent 
(
AgentID INT IDENTITY(1,1) PRIMARY KEY, 
Name VARCHAR(50), 
TransactionID INT, 
constraint Agent_T_FK foreign key (TransactionID) REFERENCES chf.Transaction(TransactionID), 
) 
GO 

ответ

6

Transaction это ключевое слово. Так что это не позволяет. Если вы хотите использовать Transaction в качестве имени таблицы, используйте как это.

CREATE TABLE chf.[Transaction]

Но я настоятельно рекомендую не использовать ключевые слова/зарезервированные слова

5

сделка является зарезервированным словом. положил [] вокруг него так

CREATE TABLE chf.[Transaction] 
(
TransactionID INT IDENTITY(1,1) PRIMARY KEY, 
AmtDue MONEY, 
DiscountPercent DECIMAL(5,2), 
AmtPaid MONEY, 
Date DATETIME, 
) 
GO 
+0

Я хотел бы добавить к этому тот же комментарий Ravindra имел в своем. Вы не должны указывать зарезервированные слова в таблицах. Они были зарезервированы по какой-то причине. – Zane

3

Это происходит только потому, что вы пытаетесь использовать предопределенные ключевые слова в качестве имени таблицы. Вы должны разграничить его символом [].

 CREATE TABLE [transaction] 
     (

    ); 

Найти список всех ключевых слов в этом ссылка- https://technet.microsoft.com/en-us/library/aa238507(v=sql.80).aspx

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