会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 数据表 > 正文

使用SQL DDL创建、删除表和关系

时间:2008-10-18 17:31 来源:Microsoft 作者:Microsof… 阅读:
摘    要:Microsoft Knowledge Base Article - Q116145
  Microsoft Access包含一个数据定义语言(DDL),你可以用来建立、删除表和关系。这些操作也可以通过VBA(或ACCESS 2.0中access Basic)使用数据访问对象(DAO)来执行。本文讨论在DLL中的一些操作。
  注: 本文中的所有例示语句可以加到Microsoft access查询中来运行。使用数据定义语句,创建一个新的查询,然后点击查询菜单中的SQL特定查询中的数据定义,然后在定义查询窗口中输入你数据定义语句,通过点击查询菜单的运行来运行。

正    文:

  建立一个带有自动编号数据类型主键(PrimaryKey)字段Id和一个文本数据类型长度为10的字段MyText的表,可以在查询的数据定义查询窗口输入下列语句:
  注:在下列查询举例中,每行最后的下划线(_)是用来续行的。在创建查询时,请移除。

   CREATE TABLE Table1 (Id COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, _
   MyText TEXT (10))

  不需要主键(PrimaryKey)也能通过运行下面的查询语句创建关系中另一侧的外键(Foreign Key)。该查询创建一个长整数类型字段Id和一个文本类型字段MyText(默认长度为255)的表。

   CREATE TABLE Table2 (Id LONG, MyText TEXT)

  在创建这两个表后,运行下面的查询在Table1和Table2之间来创建一个一对多的关系,其中Table1为关系的主侧。

   ALTER TABLE Table2 ADD CONSTRAINT Relation1 FOREIGN KEY ([Id]) _
   REFERENCES Table1 ([Id])

  要删除这两个表之间关系,可以使用下面的查询: 

   ALTER TABLE Table2 DROP CONSTRAINT Relation1

  要删除表Table1, 可以运行下面的查询: 

   DROP TABLE Table1

  要删除表Table2, 可以运行下面的查询: 

   DROP TABLE Table2

  除了通过查询来运行这些语句名,还可以将DDL语句以代码的形式在RunSQL中运行,也可以通过下面的过程来模拟。

   Sub ExecuteSQLDDL (SQLString As String)
      Dim db As Database, qd As QueryDef
      Set db = DBEngine.Workspaces(0).Databases(0)
      Set qd = db.CreateQueryDef("")
      qd.SQL = SQLString
      qd.Execute
      db.Close
   End Sub

调用这个过程,使用下面的语法: 

   ExecuteSQLDDL "DROP TABLE Table1"

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: