中运行。如果您打算将一些Access查询转换为sql文件的话,可以考虑根据它们使用的方式有区别地将这些事务处理SQL语句分别放
在几个脚本程序中。例如,您可以将必须以同样频率运行的事务处理SQL语句归类到同一个脚本中。另一个脚本中则应包含
所有只在某些条件下运行的事务处理SQL语句。此外,必须以一定顺序执行的事务处理SQL语句应当归类到一个不连续的脚
本中。
将Access语句转移到事务处理SQL 文件
将语句拷贝到SQL Server查询分析器中
使用蓝色的多选项图标分析语句
在适当时候执行该语句
要执行Access中的创建表(MAKE TABLE)的查询任务的开发者在SQL Server中有几种选择。开发者可创建下列对象之一:
一个视图
视图具有动态的虚拟表的效果,可提供最近的信息。这是一个输入/输出强化器,因为每当发出一个查询时它都要求对数据
表重现建立连接。
一个临时表
临时表为已连接的用户会话建立一个快照。您可以建立局部的或全局的临时表。局部临时表只在当前会话中可见,而全局
临时表则在所有会话都是可见的。在局部临时表的名字前加上单个数字的前缀((#table_name)),而在全局临时表的名字
前加上两位数字的前缀(##table_name)。对临时表的查询执行起来非常快,因为它们取得一个结果集的时候通常只用一个
表,而不是将多个表动态地连接在一起来。
如欲了解临时表的其他信息,请参阅SQL Server在线参考书。
SQL Server 7.0中的数据转换服务(DTS)允许您通过创建包来实现临时表建立的标准化、自动化和进度安排。例如,当您
移植Access 2.0中的Northwind 范例数据库时,用于季度数据报表的交叉表可转变为一个视图或者一个可在规范基础上建
立临时表的数据转换。如欲了解关于DTS的其他信息,请参阅SQL Server在线参考书。
其他设计上的考虑
下面是当您将您的Access应用移植到SQL Server时必须考虑的一些其他问题:
使用参数
带参数的SQL Server存储过程需要一种不同于Access查询的语法格式,例如:
Access 2.0格式:
查询名:Employee Sales By Country, in NWIND.mdb:
PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;
SELECT Orders.[Order ID], [Last Name] & ", " & [First Name] AS Salesperson, Employees.Country, Orders.
[Shipped Date], [Order Subtotals].Subtotal AS [Sale Amount]
FROM Employees INNER JOIN (Orders INNER JOIN [Order Subtotals] ON Orders.[Order ID] = [Order Subtotals].
[Order ID]) ON Employees.[Employee ID] = Orders.[Employee ID]
WHERE (((Orders.[Shipped Date]) Between [Beginning Date] And [Ending Date]))
ORDER BY [Last Name] & ", " & [First Name], Employees.Country, Orders.[Shipped Date];
SQL Server 7.0格式:
CREATE PROCEDURE EMP_SALES_BY_COUNTRY
@BeginningDate datetime,
@EndingDate datetime
AS
SELECT Orders.[Order ID], [Last Name] + ", " + [First Name] AS Salesperson, Employees.Country,
Orders.[Shipped Date], [Order Subtotals].Subtotal AS [Sale Amount]
FROM Employees INNER JOIN (Orders INNER J
将Access数据库移植到Microsoft SQL Server 7.0 共有2页 第 1 2 页