移植Microsoft Access查询 你必须以这些格式之一迁移你现有的Access查询到SQL Server: Transact-SQL脚本 Transact-SQL语句通常从数据库程序被调用,但是你可以使用包含在SQL Server 7.0中的SQL Server查询分析器在数据库中直接运行它们。SQL Server查询分析器帮助开发者针对开发数据库测试Transact-SQL语句,或运行Transact-SQL语句执行查询、数据操作(INSERT、UPDATE、DELETE)或数据定义(CREATE TABLE)。 存储过程 开发者可以把大多数源于Access查询(SELECT、INSERT、UPDATE 和 DELETE)的Transact-SQL语句转换为存储过程。用Transact-SQL写的存储过程可以用来封装和标准化你的数据访问,存储过程实际上存储在数据库内。存储过程能带或者不带参数运行,可以从数据库程序调用,也可以从SQL Server查询分析器手动执行。 视图 视图作为虚拟的表格从一个或更多的表格显露指定的行和列。它们允许用户创建查询而不用直接实现那些复杂的底层查询。视图不支持参数。向视图加入一个更多的表格不能使用INSERT、UPDATE、或DELETE语句修改。视图可以用Transact-SQL语句调用,并且也可以在SQL Server查询分析器中的*.scripts中使用。SQL Server视图和SQL-92标准不支持视图中的ORDER BY 子句。 更多关于Transact-SQL、存储过程或者视图的信息,见SQL Server Books Online。 Access查询类型 SQL Server移植选项和注释 一个SELECT语句可以被存储在Transact-SQL文件、存储过程或者视图中。创建存储过程是实现把数据库应用程序开发同数据库设计的物理实现分离的最好方法。存储过程在一个地方创建,并且被应用程序调用。如果底层数据库改变了,并且存储过程被仔细的修改以反映这些变化,则对存储过程的调用不会被“中断”。 CROSSTAB 交叉表经常用于摘要报告。 Access交叉表可以在SQL脚本中作为Transact-SQL SELECT语句实现,也可以作为存储过程或者一个视图实现。每次一个查询被列举的时候,数据节点将会重执行,请确保使用最新的数据。 根据不同的数据库需要,也许把交叉表中的数据存储为临时表比较合适(请参看下一行的MAKE TABLE)。临时表只需要很少的资源,但是只提供了创建临时表的时刻,数据的一个照相。
MAKE TABLE Access的MAKE TABLE可以在Transact-SQL脚本或者存储过程中作为Transact-SQL的CREATE TABLE语句实现。语法如下:
SELECT [ ALL or DISTINCT ] [ {TOP integer or TOP integer PERCENT} [ WITH TIES] ]
<select_list> [ INTO new_table ] [ FROM {<table_source>} [,…n] ] [ WHERE <search_condition> ] [ GROUP BY [ALL] group_by_expression [,…n] [ WITH { CUBE or ROLLUP } ]
CREATE TABLE mytable (low int, high int)
UPDATE UPDATE语句可以被存储在Transact-SQL脚本中;但是,实现UPDATE语句的推荐方法是创建一个存储过程。 APPEND APPEND语句可以被存储在Transact-SQL脚本中;但是,实现APPEND语句的推荐方法是创建一个存储过程。 DELETE DELETE语句可以被存储在Transact-SQL脚本中;但是,实现DELETE语句的推荐方法是创建一个存储过程。
把微软 Access查询迁移到存储过程和视图 每个Access查询必须被置入这集合语句的集合:
CREATE PROCEDURE <NAME_HERE> AS < SELECT, UPDATE, DELETE, INSERT, CREATE TABLE statement from Microsoft Access > GO CREATE VIEW <NAME_HERE> AS <Place (SELECT only, with no parameters) Microsoft Access Query> GO
对每个Access查询: 打开Access,然后在SQL Server上打开SQL Server查询分析器。 在Access中,在数据库窗口,单击Queries(查询)标签,然后单击Design(设计)。

在View(视图)菜单上,单击SQL。 粘贴整个查询到SQL Server查询分析器。 测试语法和并且为以后使用保存Transact-SQL语句,或者在数据库中运行语句。你可以有选择的保存Transact-SQL为脚本。
出处:Microsoft
责任编辑:帅青蛙
上一页 Access 数据库移植到 SQL Server7.0 [1] 下一页 Access 数据库移植到 SQL Server7.0 [3]
◎进入论坛网络编程版块参加讨论
|