第九章 运用Select...INTO语句
数据备份对数据库的操作来说是非常重要方面,在ACCESS中要对一个表进行备份可以用SQL命令中的Select...INTO语句来完成这一任务。
第一节 Select…INTO语句的完整语法
Select...INTO语句的功能是创建生成表查询。此SQL语句表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表。
一、Select...INTO语句的完整语法
Select field1[, field2[, ...]] INTO newtable [IN externaldatabase] FROM source
Select...INTO语句包含以下部分:
部分
|
说明
|
field1、field2
|
要复制到新表中的字段的名称。
|
newtable
|
要创建的表的名称。它必须符合标准命名约定。如果 newtable 和现有表同名,会发生一个可捕捉的错误。
|
externaldatabase
|
外部数据库的路径。有关路径的说明,请参阅 IN 子句。
|
source
|
从中选择记录的现有表的名称。它可以是单个或多个表或查询。
|
二、关于Select...INTO语法的几点说明
可以通过生成表查询来存档记录,或制作表的备份副本,或者将副本导出到其他数据库,或作为某个特定时间段的数据的报表的数据来源。例如,可以通过每个月运行相同的生成表查询来生成一个月销售区域报表。
我们可能希望定义新表的主键。创建表时,新表中的字段会继承查询的基表中每个字段的数据类型和字段大小,但不会传输其他字段或表属性。
若要将数据添加到现有表中,请使用Insert
INTO语句,而不用创建生成表查询。
若要在运行生成表查询之前查找出将要选择哪些记录,请先检查使用相同选择条件的Select语句的结果。
三、Select...INTO语句的编程示例
以下示例选择Employees表中的所有记录,并将它们复制到名为Emp Backup的新表中。
Sub
SelectIntoX()
Dim dbs As Database
Dim qdf As QueryDef
' Modify this line to include the path to
Northwind
' on your computer.
Set dbs =
OpenDatabase("Northwind.mdb")
' Select all records in the Employees
table
' and copy them into a new table, Emp
Backup.
dbs.Execute "Select Employees.* INTO
" _
& "[Emp Backup] FROM
Employees;"
' Delete the table because this is a
demonstration.
dbs.Execute "Drop TABLE [Emp
Backup];"
dbs.Close
End Sub