语法错误 - SQL Microsoft Access

时间:2014-10-05 20:41:17

标签: sql ms-access

我将非常感谢帮助我不熟悉SQL并且我正在使用Microsoft Access。我自己写了这个,所以如果出现问题,请告诉我!

另外,如果你能回答这个问题,我必须编写并运行一个SQL查询来列出某个特定课程的所有实例。我该如何开始这样做呢?我在书中找不到任何内容。

CREATE  TABLE CUSTOMER (
     CustomerNumber    Int PRIMARY KEY,
     CustomerLastName  Char (25)    NOT NULL,
     CustomerFirstName Char (25)    NOT NULL,
     Phone             Char (12)   NULL
);

CREATE  TABLE COURSE (
    CourseNumber Int PRIMARY KEY,
    Course       Char ( 15) NOT NULL,
    CourseDate   DateTime NOT NULL,
    Fee          Currency NOT NULL
);

CREATE  TABLE ENROLLMENT (
    CustomerNumber Int PRIMARY KEY,
    CourseNumber   Int NOT NULL,           
    AmountPaid     Currency NOT NULL
);

2 个答案:

答案 0 :(得分:0)

可能对您有所帮助的评论很少,请先在当前版本中检查MS-Access中的有效数据类型,例如:MSDN-MS-Access DataTypes。您将看到Char和Int无效,Numeric也不接受参数(您可能想要使用Dobule)。此外,您在第一个CREATE TABLE CUSTOMER语句中的PRIMARY KEY之后缺少逗号(,)。使用GUI界面创建表然后稍后进入DDL可能是一种很好的做法。

答案 1 :(得分:0)

我在MS Acces 2007和MS Access 2010上测试您的查询并且工作正常,

当我尝试执行整个SQL时,您应该一次运行每个查询,而不是一次运行。我收到相同的错误消息。

SQL1:

CREATE  TABLE CUSTOMER (
     CustomerNumber    Int PRIMARY KEY,
     CustomerLastName  Char (25)    NOT NULL,
     CustomerFirstName Char (25)    NOT NULL,
     Phone             Char (12)   NULL
);

SQL2:

CREATE  TABLE COURSE (
    CourseNumber Int PRIMARY KEY,
    Course       Char ( 15) NOT NULL,
    CourseDate   DateTime NOT NULL,
    Fee          Currency NOT NULL
);

SQL3:

CREATE  TABLE ENROLLMENT (
    CustomerNumber Int PRIMARY KEY,
    CourseNumber   Int NOT NULL,           
    AmountPaid     Currency NOT NULL
);