使用SQL DDL创建、删除表和关系 -朱亦文
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


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

发表时间:2004/11/10 评论(0) 浏览(9463)  评论 | 加入收藏 | 复制
   
摘 要: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"


Access软件网交流QQ群(群号:198465573)
 
 相关文章
用代码删除表的两种方法  【bamboo  2007/10/17】
access的真假:一、DROP删除表再重建比Delete fro...  【ACMAIN_CHM  2009/9/10】
用DAO代码删除表间的关系  【竹笛  2010/1/22】
【Access入门示例】用命令按钮删除Access各种对象类型的示...  【麥田  2012/11/15】
【Access入门】用VBA代码删除表中指定字段为空记录的示例  【麥田  2015/7/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

朱亦文

文章分类

文章存档

友情链接