将 SQL Server CREATE TABLE 翻译成 Access

Translate SQL Server CREATE TABLE into Access

如何将其转换为 Access create table

CREATE TABLE Employee
(
    EmployeeKey INTEGER NOT NULL IDENTITY PRIMARY KEY,
    FirstName nvarChar(25) NOT NULL,
    MiddleName nvarChar(25) NULL,
    LastName nVarChar(25) NOT NULL,
    Title nVarChar(100) null,
    ManagerKey INT NULL REFERENCES Employee(EmployeeKey),
    CreatedDate DateTime NOT NULL DEFAULT NOW(),
    UpdatedDate DateTime NULL
)

我在 Access Immediate 中构造了这条 DDL 语句 window:

strDdl = "CREATE TABLE Employee (" & _
    "EmployeeKey IDENTITY PRIMARY KEY, " & _
    "FirstName TEXT(25) NOT NULL, " & _
    "MiddleName TEXT(25), " & _
    "LastName TEXT(25) NOT NULL, " & _
    "Title TEXT(100), " & _
    "ManagerKey LONG REFERENCES Employee(EmployeeKey), " & _
    "CreatedDate DATETIME NOT NULL DEFAULT NOW(), " & _
    "UpdatedDate DATETIME);"

由于包含关键字DEFAULT,因此必须从ADO/OleDb开始执行。

CurrentProject.Connection.Execute strDdl

如图所示,该语句已成功执行。如果从 DAO 执行它会失败 --- "Run-time error '3292': Syntax error in field definition."


备注:

  • TEXT 等同于 NVARCHAR
  • CHAR 等同于 NCHAR,将生成填充字符串