移植Microsoft Access查詢 你必須以這些格式之一遷移你現(xiàn)有的Access查詢到SQL Server: Transact-SQL腳本 Transact-SQL語句通常從數(shù)據(jù)庫(kù)程序被調(diào)用,但是你可以使用包含在SQL Server 7.0中的SQL Server查詢分析器在數(shù)據(jù)庫(kù)中直接運(yùn)行它們。SQL Server查詢分析器幫助開發(fā)者針對(duì)開發(fā)數(shù)據(jù)庫(kù)測(cè)試Transact-SQL語句,或運(yùn)行Transact-SQL語句執(zhí)行查詢、數(shù)據(jù)操作(INSERT、UPDATE、DELETE)或數(shù)據(jù)定義(CREATE TABLE)。 存儲(chǔ)過程 開發(fā)者可以把大多數(shù)源于Access查詢(SELECT、INSERT、UPDATE 和 DELETE)的Transact-SQL語句轉(zhuǎn)換為存儲(chǔ)過程。用Transact-SQL寫的存儲(chǔ)過程可以用來封裝和標(biāo)準(zhǔn)化你的數(shù)據(jù)訪問,存儲(chǔ)過程實(shí)際上存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi)。存儲(chǔ)過程能帶或者不帶參數(shù)運(yùn)行,可以從數(shù)據(jù)庫(kù)程序調(diào)用,也可以從SQL Server查詢分析器手動(dòng)執(zhí)行。 視圖 視圖作為虛擬的表格從一個(gè)或更多的表格顯露指定的行和列。它們?cè)试S用戶創(chuàng)建查詢而不用直接實(shí)現(xiàn)那些復(fù)雜的底層查詢。視圖不支持參數(shù)。向視圖加入一個(gè)更多的表格不能使用INSERT、UPDATE、或DELETE語句修改。視圖可以用Transact-SQL語句調(diào)用,并且也可以在SQL Server查詢分析器中的*.scripts中使用。SQL Server視圖和SQL-92標(biāo)準(zhǔn)不支持視圖中的ORDER BY 子句。 更多關(guān)于Transact-SQL、存儲(chǔ)過程或者視圖的信息,見SQL Server Books Online。 Access查詢類型 SQL Server移植選項(xiàng)和注釋 一個(gè)SELECT語句可以被存儲(chǔ)在Transact-SQL文件、存儲(chǔ)過程或者視圖中。創(chuàng)建存儲(chǔ)過程是實(shí)現(xiàn)把數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)同數(shù)據(jù)庫(kù)設(shè)計(jì)的物理實(shí)現(xiàn)分離的最好方法。存儲(chǔ)過程在一個(gè)地方創(chuàng)建,并且被應(yīng)用程序調(diào)用。如果底層數(shù)據(jù)庫(kù)改變了,并且存儲(chǔ)過程被仔細(xì)的修改以反映這些變化,則對(duì)存儲(chǔ)過程的調(diào)用不會(huì)被“中斷”。 CROSSTAB 交叉表經(jīng)常用于摘要報(bào)告。 Access交叉表可以在SQL腳本中作為Transact-SQL SELECT語句實(shí)現(xiàn),也可以作為存儲(chǔ)過程或者一個(gè)視圖實(shí)現(xiàn)。每次一個(gè)查詢被列舉的時(shí)候,數(shù)據(jù)節(jié)點(diǎn)將會(huì)重執(zhí)行,請(qǐng)確保使用最新的數(shù)據(jù)。 根據(jù)不同的數(shù)據(jù)庫(kù)需要,也許把交叉表中的數(shù)據(jù)存儲(chǔ)為臨時(shí)表比較合適(請(qǐng)參看下一行的MAKE TABLE)。臨時(shí)表只需要很少的資源,但是只提供了創(chuàng)建臨時(shí)表的時(shí)刻,數(shù)據(jù)的一個(gè)照相。
MAKE TABLE Access的MAKE TABLE可以在Transact-SQL腳本或者存儲(chǔ)過程中作為Transact-SQL的CREATE TABLE語句實(shí)現(xiàn)。語法如下:
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語句可以被存儲(chǔ)在Transact-SQL腳本中;但是,實(shí)現(xiàn)UPDATE語句的推薦方法是創(chuàng)建一個(gè)存儲(chǔ)過程。 APPEND APPEND語句可以被存儲(chǔ)在Transact-SQL腳本中;但是,實(shí)現(xiàn)APPEND語句的推薦方法是創(chuàng)建一個(gè)存儲(chǔ)過程。 DELETE DELETE語句可以被存儲(chǔ)在Transact-SQL腳本中;但是,實(shí)現(xiàn)DELETE語句的推薦方法是創(chuàng)建一個(gè)存儲(chǔ)過程。
把微軟 Access查詢遷移到存儲(chǔ)過程和視圖 每個(gè)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
對(duì)每個(gè)Access查詢: 打開Access,然后在SQL Server上打開SQL Server查詢分析器。 在Access中,在數(shù)據(jù)庫(kù)窗口,單擊Queries(查詢)標(biāo)簽,然后單擊Design(設(shè)計(jì))。
在View(視圖)菜單上,單擊SQL。 粘貼整個(gè)查詢到SQL Server查詢分析器。 測(cè)試語法和并且為以后使用保存Transact-SQL語句,或者在數(shù)據(jù)庫(kù)中運(yùn)行語句。你可以有選擇的保存Transact-SQL為腳本。
出處:Microsoft
責(zé)任編輯:帥青蛙
上一頁 Access 數(shù)據(jù)庫(kù)移植到 SQL Server7.0 [1] 下一頁 Access 數(shù)據(jù)庫(kù)移植到 SQL Server7.0 [3]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|