关键字“事务”SQL插入语句附近的语法不正确

时间:2013-12-18 21:07:36

标签: sql sql-server

我不明白错误在哪里。我以前做了一百万次,但由于某种原因,这个错误不断出现。以下是我的创建表语句:

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

3 个答案:

答案 0 :(得分:6)

Transaction是一个关键字。所以它不允许。如果您想使用Transaction作为表名,请使用如下。

CREATE TABLE chf.[Transaction]

但我强烈建议不要使用关键字/保留字

答案 1 :(得分:5)

交易是一个保留字。把[]放在它周围

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

答案 2 :(得分:3)

很高兴因为你试图使用预定义的关键字作为表名。你应该用[]符号分隔它。

      CREATE TABLE [transaction]
      (

      );

在此链接中找到所有关键字列表 https://technet.microsoft.com/en-us/library/aa238507(v=sql.80).aspx