Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

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

时 间:2004-11-10 00:00:00
作 者:Microsoft    ID:61  城市:岳阳
摘 要: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群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助