Oracle和SQLServer的語法區(qū)別_第1頁
Oracle和SQLServer的語法區(qū)別_第2頁
Oracle和SQLServer的語法區(qū)別_第3頁
Oracle和SQLServer的語法區(qū)別_第4頁
Oracle和SQLServer的語法區(qū)別_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Oracle和SQLServer的語法區(qū)別SQL 語言支持 這一部分概述了 Transact-SQL 和 PL/SQL 語言語法之間的相同點和不同點,并給出轉(zhuǎn)換策略。 要將 Oracle DML 語句和 PL/SQL 程序遷移到 SQL Server 時,請按下列步驟執(zhí)行: 1. 驗證所有 SELECT、INSERT、UPDATE 和 DELETE 語句的語法是有效的。進行任何必要的修改。 2. 把所有外部聯(lián)接改為 SQL-92 標準外部聯(lián)接語法。 3. 用相應(yīng) SQL Server 函數(shù)替代 Oracle 函數(shù)。 4. 檢查所有的比較運算符。 5. 用“+”字符串串聯(lián)運算符代替“|”字符串串

2、聯(lián)運算符。 6. 用 Transact-SQL 程序代替 PL/SQL 程序。 7. 把所有 PL/SQL 游標改為非游標 SELECT 語句或 Transact-SQL 游標。 8. 用 Transact-SQL 過程代替 PL/SQL 過程、函數(shù)和包。 9. 把 PL/SQL 觸發(fā)器轉(zhuǎn)換為 Transact-SQL 觸發(fā)器。 10. 使用 SET SHOWPLAN 語句,優(yōu)化查詢性能。 SELECT 語句Oracle 和 Microsoft SQL Server 使用的 SELECT 語句語法類似。 OracleMicrosoft SQL ServerSELECT /*+ optimize

3、r_hints*/ ALL | DISTINCT select_listFROMtable_name | view_name | select_statementWHERE clause GROUP BY group_by_expressionHAVING search_conditionSTART WITH U CONNECT BYUNION | UNION ALL | INTERSECT |MINUS SELECT UORDER BY clauseFOR UPDATESELECT select_listINTO new_table_FROM table_sourceWHERE search

4、_condition GROUP BY ALL group_by_expression ,Un WITH CUBE | ROLLUP HAVING search_conditionORDER BY order_expression ASC | DESC In addition:UNION Operator COMPUTE ClauseFOR BROWSE ClauseOPTION ClauseSQL Server 不支持 Oracle 特定的基于開銷的優(yōu)化程序提示,它必須被刪除。建議使用的技術(shù)是,使用 SQL Server 基于開銷的優(yōu)化程序。有關(guān)詳細信息,請參見本章后面的“SQL 語句優(yōu)化”

5、。 SQL Server 不支持 Oracle 的 START WITHUCONNECT BY 子句。在 SQL Server 中,可以創(chuàng)建完成相同任務(wù)的存儲過程替代它。 SQL Server 不支持 Oracle 的 INTERSECT 和 MINUS 集合運算符??墒褂?SQL Server EXISTS 和 NOT EXISTS 子句,實現(xiàn)相同的結(jié)果。 在下面示例中,使用 INTERSECT 運算符,用于查找學(xué)生登記的所有課程的代碼和名稱。注意,EXISTS 運算符是如何代替 INTERSECT 運算符的。返回的數(shù)據(jù)是相同的。 OracleMicrosoft SQL ServerSELE

6、CT CCODE, CNAMEFROM DEPT_ADMIN.CLASSINTERSECTSELECT C.CCODE, C.CNAMEFROM STUDENT_ADMIN.GRADE G,DEPT_ADMIN.CLASS CWHERE C.CCODE = G.CCODESELECT CCODE, CNAMEFROM DEPT_ADMIN.CLASS CWHERE EXISTS(SELECT X FROM STUDENT_ADMIN.GRADE GWHERE C.CCODE = G.CCODE)在此例中,使用 MINUS 運算符,查找那些沒有任何學(xué)生登記的課程。 OracleMicrosoft

7、 SQL ServerSELECT CCODE, CNAMEFROM DEPT_ADMIN.CLASSMINUSSELECT C.CCODE, C.CNAMEFROM STUDENT_ADMIN.GRADE G,DEPT_ADMIN.CLASS CWHERE C.CCODE = G.CCODESELECT CCODE, CNAMEFROM DEPT_ADMIN.CLASSCWHERE NOT EXISTS(SELECT X FROM STUDENT_ADMIN.GRADE GWHERE C.CCODE = G.CCODE)INSERT 語句Oracle 和 Microsoft SQL Serv

8、er 使用的 INSERT 語句語法類似。 OracleMicrosoft SQL ServerINSERT INTOtable_name | view_name | select_statement (column_list)values_list | select_statementINSERT INTO table_name AS table_alias WITH ( Un)| view_name AS table_alias| rowset_function_limited (column_list) VALUES ( DEFAULT | NULL| expression ,Un)|

9、derived_table| execute_statement | DEFAULT VALUESTransact-SQL 語言支持對表和視圖的插入,但不支持對 SELECT 語句的 INSERT 操作。如果 Oracle 應(yīng)用程序代碼執(zhí)行對 SELECT 語句的插入操作,則必須對它進行修改。 OracleMicrosoft SQL ServerINSERT INTO (SELECT SSN, CCODE, GRADE FROM GRADE)VALUES (111111111, 1111,NULL)INSERT INTO GRADE (SSN, CCODE, GRADE)VALUES (111

10、111111, 1111,NULL)Transact-SQL values_list 參數(shù)提供了 SQL-92 標準關(guān)鍵字 DEFAULT,但 Oracle 不支持。此關(guān)鍵字指定了,執(zhí)行插入操作時使用列的默認值。如果指定列的默認值不存在,則插入 NULL。如果該列不允許 NULL,則返回一個錯誤消息。如果該列數(shù)據(jù)類型定義為 timestamp,則插入下一個有序值。 標識符列不能使用 DEFAULT 關(guān)鍵字。要生成下一個序列號,擁有 IDENTITY 屬性的列不能列在 column_list 或 values_clause 中。不需使用 DEFAULT 關(guān)鍵字,來獲取列的默認值。正如在 Orac

11、le 中,如果列沒有在 column_list 中引用,并且它有默認值,則默認值存放在列中。這是遷移時可使用的最兼容的方法。 一個有用的 Transact_SQL 選項 (EXECute procedure_name) 是,執(zhí)行一個過程并將其結(jié)果用管道輸出到目標表或視圖中。Oracle 不允許這樣做。 UPDATE 語句因為 Transact SQL 支持 Oracle UPDATE 命令使用的絕大多數(shù)語法,所以只需要極少的修改。 OracleMicrosoft SQL ServerUPDATEtable_name | view_name | select_statementSET colum

12、n_name(s) = constant_value | expression | select_statement | column_list |variable_listwhere_statementUPDATE table_name AS table_alias WITH ( Un)view_name AS table_alias| rowset_function_limited SET column_name = expression | DEFAULT | NULL| variable = expression | variable = column = expression ,Un

13、FROM ,Un WHERE | WHERE CURRENT OF GLOBAL cursor_name | cursor_variable_name OPTION ( ,Un )Transact-SQL UPDATE 語句不支持對 SELECT 語句的更新操作。如果 Oracle 應(yīng)用程序代碼對 SELECT 語句進行更新,則可以把 SELECT 語句轉(zhuǎn)換成一個視圖,然后在 SQL Server UPDATE 語句中使用該視圖名稱。請參見前面“INSERT 語句”中的示例。 Oracle UPDATE 命令只能使用一個 PL/SQL 塊中的程序變量。要使用變量,Transact-SQL 語言

14、并不需要使用塊。 OracleMicrosoft SQL ServerDECLAREVAR1 NUMBER(10,2);BEGINVAR1 := 2500;UPDATE STUDENT_ADMIN.STUDENTSET TUITION_TOTAL = VAR1;END;DECLAREVAR1 NUMERIC(10,2)SELECT VAR1 = 2500UPDATE STUDENT_ADMIN.STUDENTSET TUITION_TOTAL=VAR1在 SQL Server 中,DEFAULT 關(guān)鍵字可用于將一列設(shè)為其默認值。但不能使用 Oracle UPDATE 命令,將一列設(shè)為默認值。

15、Transact-SQL 和 Oracle SQL 均支持在 UPDATE 語句中使用子查詢。但是,Transact-SQL FROM 子句可用來創(chuàng)建一個基于聯(lián)接的 UPDATE。這一功能使 UPDATE 語法可讀性更好,在某些情況下還能改善性能。 OracleMicrosoft SQL ServerUPDATE STUDENT_ADMIN.STUDENT SSET TUITION_TOTAL = 1500WHERE SSN IN (SELECT SSN FROM GRADE GWHERE G.SSN = S.SSNAND G.CCODE = 1234)Subquery:UPDATE STUD

16、ENT_ADMIN.STUDENT SSET TUITION_TOTAL = 1500WHERE SSN IN (SELECT SSN FROM GRADE GWHERE G.SSN = S.SSNAND G.CCODE = 1234)FROM clause:UPDATE STUDENT_ADMIN.STUDENT SSET TUITION_TOTAL = 1500FROM GRADE GWHERE S.SSN = G.SSNAND G.CCODE = 1234DELETE 語句在大多數(shù)情況下,不需要修改 DELETE 語句。如果要對 Oracle 中的 SELECT 語句執(zhí)行刪除操作,則必須

17、修改 SQL Server 語法,因為 Transact-SQL 不支持這一功能。 Transact-SQL 支持在 WHERE 子句中使用子查詢,以及在 FROM 子句中使用聯(lián)接。后者可產(chǎn)生更有效的語句。請參見前面“UPDATE 語句”中的示例。 OracleMicrosoft SQL ServerDELETE FROMtable_name | view_name | select_statementWHERE clause DELETE FROM table_name AS table_alias WITH ( Un)| view_name AS table_alias| rowset_f

18、unction_limited FROM ,Un WHERE | CURRENT OF GLOBAL cursor_name cursor_variable_name OPTION ( ,Un)TRUNCATE TABLE 語句Oracle 和 Microsoft SQL Server 使用的 TRUNCATE TABLE 語句語法類似。TRUNCATE TABLE 用于從表中刪除所有的行,并且不能回滾。表結(jié)構(gòu)及其所有索引繼續(xù)存在。DELETE 觸發(fā)器不執(zhí)行。如果表被一個 FOREIGN KEY 約束引用,則它不能被截斷。 OracleMicrosoft SQL ServerTRUNCATE

19、TABLE table_nameDROP | REUSE STORAGETRUNCATE TABLE table_name在 SQL Server 中,此語句只能由表的所有者執(zhí)行。在 Oracle 中,如果是表的所有者或擁有 DELETE TABLE 系統(tǒng)權(quán)限,就可以執(zhí)行此命令。 Oracle TRUNCATE TABLE 命令可以有選擇地釋放表中行所占用的存儲空間。SQL Server TRUNCATE TABLE 語句總是收回表數(shù)據(jù)及其相關(guān)索引所占用的空間。 標識符列和時間戳列中數(shù)據(jù)的處理Oracle 序列是與任何給定的表或列均不直接相關(guān)的數(shù)據(jù)庫對象。列和序列之間的關(guān)系是在應(yīng)用程序中實現(xiàn)的

20、,即通過編程的方法將序列值賦給列。因此,Oracle 使用序列時,并不實施任何規(guī)則。但是,在 Microsoft SQL Server 標識符列中,值不能被更新,并且不能使用 DEFAULT 關(guān)鍵字。 默認情況下,數(shù)據(jù)不能直接插入到標識符列。標識符列自動給表中插入的每個新行生成一個唯一的序列號??梢允褂孟铝?SET 語句改寫這種默認設(shè)置: SET IDENTITY_INSERT table_name ON將 IDENTUTY_INSERT 設(shè)為 ON,用戶就可以向新行的標識符列插入任何值。要防止出現(xiàn)有重復(fù)號碼的條目,必須為該列創(chuàng)建唯一索引。這條語句的目的是,允許用戶給無意中刪除的行重新創(chuàng)建一個

21、值。IDENTITY 函數(shù)可用來獲取上一個標識值。 TRUNCATE TABLE 語句將標識符列重置為其起始 SEED 值。如果不想重置列的標識值,則不使用 TRUNCATE TABLE 語句,而使用不帶 WHERE 子句的 DELETE 語句。必須評估它對 Oracle 遷移造成的影響,因為 ORACLE SEQUENCE 在 TRUNCATE TABLE 命令之后不被重置。 處理 timestamp 列時,只能執(zhí)行插入和刪除。如果要更新一個 timestamp 列,會收到以下的錯誤信息: Msg 272, Level 16, State 1 Cant update a TIMESTAMP

22、column.鎖定請求的行Oracle 使用 FOR UPDATE 子句來鎖定 SELECT 命令中指定的行。不需要在 Microsoft SQL Server 中使用對等的子句,因為這是默認行為。 行合計和 COMPUTE 子句SQL Server COMPUTE 子句用于生成行合計函數(shù)(SUM、AVG、MIN、MAX 和 COUNT),它們在查詢結(jié)果中作為附加行出現(xiàn)。它允許查看一組結(jié)果的詳細和匯總信息行。可以計算子組的匯總值,以及計算同一組的多個合計函數(shù)。 Oracle SELECT 命令語法不支持 COMPUTE 子句。但是,SQL Server COMPUTE 子句與 Oracle S

23、QL*Plus 查詢工具中的 COMPUTE 命令作用相似。 聯(lián)接子句Microsoft SQL Server 7.0 允許在一個聯(lián)接子句中最多可聯(lián)接 256 個表,包括臨時表和永久表。在 Oracle 中,則沒有聯(lián)接限制。 在 Oracle 中使用外部聯(lián)接時,外部聯(lián)接運算符 (+) 通常放在該聯(lián)接的子列(外鍵)旁邊。(+) 標識了具有較少唯一值的列。情況一般是這樣,除非外鍵允許空值,在這種情況下,(+) 被放在父(PRIMARY KEY 或 UNIQUE 約束)列上。(+) 不能放在等號 (=) 兩邊。 在 SQL Server 中,可以使用 *= 和 =* 外部聯(lián)接運算符。* 用于標識有較

24、多唯一值的列。如果子(外鍵)列不允許空值,則 * 放在等號的父(PRIMARY KEY 或 UNIQUE 約束)列一邊。* 的位置和 Oracle 完全相反。* 不能放在等號 (=) 兩邊。 *= 和 =* 被認為是舊式聯(lián)接運算符。SQL Server 也支持下面列出的 SQL-92 標準聯(lián)接運算符。建議使用這種語法。SQL-92 標準語法功能更強大,并且比 * 運算符的限制要少。 聯(lián)接操作說明CROSS JOIN這是兩個表的交叉乘積。它與舊式聯(lián)接中未指定 WHERE 子句而返回的行相同。在 Oracle 中,這種類型聯(lián)接稱為笛卡爾聯(lián)接。INNER這種聯(lián)接指定,所有內(nèi)部行均要返回。丟棄任何不匹

25、配的行。這和標準的 Oracle 表聯(lián)接相同。LEFTOUTER 這種類型的聯(lián)接指定,所有左表的外部行均要返回,即使沒找到匹配的列,也就如此。這和 Oracle 外部聯(lián)接 (+) 的操作類似。RIGHTOUTER 這種類型的聯(lián)接指定,所有右表的外部行均要返回,即使沒找到匹配的列,也是如此。這和 Oracle 外部聯(lián)接 (+) 的操作類似。FULL OUTER如果兩個表中的一行不符合選擇標準,則指定將這一行加到結(jié)果集中,并且將其對應(yīng)于另一表的輸出列設(shè)為 NULL。這和將 Oracle 外部聯(lián)接運算符放在“=”號兩邊 (col1(+)=col2(+) 的效果是一樣的,但后者在 Oracle 中是不

26、允許的。 下面的代碼示例返回所有學(xué)生登記的課程列表。外部聯(lián)接定義在學(xué)生 (student) 和成績 (grade) 表之間,成績表允許所有的學(xué)生出現(xiàn)在上面,甚至那些沒有登記任何課程的學(xué)生也是如此。外部聯(lián)接也加到課程表上,以返回課程名稱。如果外部聯(lián)接不加到課程表上,就不會返回那些沒有登記任何課程的學(xué)生,因為他們的課程代碼 (CCODE) 為空。 OracleMicrosoft SQL ServerSELECT S.SSN AS SSN,FNAME, LNAMEFROM STUDENT_ADMIN.STUDENT S,DEPT_ADMIN.CLASS C,STUDENT_ADMIN.GRADE G

27、WHERE S.SSN = G.SSN(+)AND G.CCODE = C.CCODE(+)SELECT S.SSN AS SSN,FNAME, LNAMEFROM STUDENT_ADMIN.GRADE GRIGHT OUTER JOINSTUDENT_ADMIN.STUDENT SON G.SSN = S.SSNLEFT OUTER JOINDEPT_ADMIN.CLASS CON G.CCODE = C.CCODE將 SELECT 語句做為表名使用Microsoft SQL Server 和 Oracle 均支持在執(zhí)行查詢時,把 SELECT 語句作為表的來源使用。SQL Server

28、需要一個別名;對 Oracle,別名的使用是可選的。 OracleMicrosoft SQL ServerSELECT SSN, LNAME, FNAME,TUITION_PAID, SUM_PAIDFROM STUDENT_ADMIN.STUDENT,(SELECT SUM(TUITION_PAID) SUM_PAID FROM STUDENT_ADMIN.STUDENT)SELECT SSN, LNAME, FNAME,TUITION_PAID, SUM_PAIDFROM STUDENT_ADMIN.STUDENT,(SELECT SUM(TUITION_PAID) SUM_PAID FR

29、OM STUDENT_ADMIN.STUDENT) SUM_STUDENT讀取和修改 BLOBMicrosoft SQL Server 使用 text 和 image 列,來實現(xiàn)二進制大型對象 (BLOB)。Oracle 使用 LONG 和 LONG RAW 列實現(xiàn) BLOB。在 Oracle 中,SELECT 命令可以查詢 LONG 和 LONG RAW 列中的值。 在 SQL Server 中,可以使用標準的 Transact-SQL 語句或?qū)iT的 READTEXT 語句讀取 text 和 image 列中的數(shù)據(jù)。READTEXT 語句允許讀取 text 或 image 列的部分片段。Or

30、acle 沒有提供處理 LONG 和 LONG RAW 的對等語句。 READTEXT 語句使用 text_pointer,它可以用 TEXTPTR 函數(shù)獲得。TEXTPTR 函數(shù)返回一個指針,它指向指定行中的 text 或 image 列,或如果返回不止一行,則它指向查詢返回的最后一行的 text 或 image 列。因為 TEXTPTR 函數(shù)返回一個 16 字節(jié)的二進制字符串,最好聲明一個局部變量來存放文本指針,然后由 READTEXT 使用該變量。 READTEXT 語句指定要返回的字節(jié)數(shù)。TEXTSIZE 函數(shù)中的值是要返回的字符或字節(jié)數(shù)的限度,如果它小于 READTEXT 指定的大小

31、,就會替代 READTEXT 語句指定值。 可使用帶 TEXTSIZE 參數(shù)的 SET 語句,指定 SELECT 語句返回的文本數(shù)據(jù)的大小(字節(jié)數(shù))。如果指定 TEXTSIZE 為 0,其大小被重置為默認值 (4 KB)。設(shè)置 TEXTSIZE 參數(shù),會影響 TEXTSIZE 函數(shù)。當 SQL_MAX_LENGTH 語句選項更改時,SQL Server ODBC 驅(qū)動程序就會自動設(shè)置 TEXTSIZE 參數(shù)。 在 Oracle 中,UPDATE 和 INSERT 命令用于更改 LONG 和 LONG RAW 列中的值。在 SQL Server 中,可以使用標準的 UPDATE 和 INSERT

32、 語句,也可以使用 UPDATETEXT 和 WRITETEXT 語句。UPDATETEXT 和 WRITETEXT 均允許無日志記錄的選項,并且 UPDATETEXT 允許對 text 或 image 列進行部分更新。 UPDATETEXT 語句可用于替換現(xiàn)有數(shù)據(jù)、刪除現(xiàn)有數(shù)據(jù)或插入新數(shù)據(jù)。新插入的數(shù)據(jù)可以是常量、表名、列名或文本指針。 WRITETEXT 語句可完全覆蓋受其影響的列中的任何現(xiàn)有數(shù)據(jù)。使用 WRITETEXT 可替換文本數(shù)據(jù);使用 UPDATETEXT 可修改文本數(shù)據(jù)。UPDATETEXT 語句更加靈活,因為它只更改一部分文本或圖像值,而不是更改全部。 有關(guān)詳細信息,請參見

33、SQL Server Books Online。 本節(jié)中的表給出了 Oracle 和 SQL Server 標量值函數(shù)和合計函數(shù)之間的關(guān)系。盡管名稱看起來是相同的,但要注意,函數(shù)參數(shù)的數(shù)量和類型是不同的,這一點非常重要。此外,在這個列表中,沒有給出僅由 Microsoft SQL Server 提供的函數(shù),因為本章僅限于講述,如何方便地實現(xiàn)從現(xiàn)有 Oracle 應(yīng)用程序的遷移。Oracle 不支持函數(shù)的例子有:角度 (DEGREES)、圓周率 (PI) 和隨機數(shù) (RAND)。 數(shù)字/數(shù)學(xué)函數(shù)下面是 Oracle 支持的數(shù)字/數(shù)學(xué)函數(shù)及其 Microsoft SQL Server 對等函數(shù)。

34、函數(shù)OracleMicrosoft SQL Server絕對值A(chǔ)BSABS反余弦ACOSACOS反正弦ASINASINn 的反正切ATANATANm/n 的反正切ATAN2ATN2=值的最小整數(shù) CEILCEILING余弦COSCOS雙曲余弦COSHCOT指數(shù)值EXPEXP)()小于()(=)(=)小于或等于(=)(=)不等于(!=, , =)(!=, , =)不大于,不小于暫缺! , !在集合的任何成員中ININ不在集合的任何成員中NOT INNOT IN集合中的任一值A(chǔ)NY, SOMEANY, SOME引用集合中的所有值!= ALL, ALL, ALL, = ALL, != SOME, S

35、OME, SOME, = SOME!= ALL, ALL, ALL, = ALL, != SOME, SOME, SOME, = SOME與模式相似LIKELIKE與模式不相似NOT LIKENOT LIKEx 和 y 之間的值BETWEEN x AND yBETWEEN x AND y不在兩者之間的值_NOT BETWEENNOT BETWEEN值存在EXISTSEXISTS值不存在NOT EXISTSNOT EXISTS值為|不為 NULLIS NULL, IS NOT NULL相同。也可以使用 = NULL、!=NULL,用于向后兼容性(不推薦使用)。模式匹配SQL Server LIK

36、E 關(guān)鍵字提供了一些 Oracle 不支持的、有用的通配符搜索選項。除了支持兩個 RDBMS 通用的 % 和 _ 通配符外,SQL Server 還支持 和 字符。 字符用于在給定范圍內(nèi)搜索某一單個字符。例如,如果在單字符位置搜索從 a 到 f 的字符,可以用 LIKE a-f 或 LIKE abcdef 指定。此表給出了這些附加通配符的用法。 OracleMicrosoft SQL ServerSELECT * FROM STUDENT_ADMIN.STUDENTWHERE LNAME LIKE A%OR LNAME LIKE B%OR LNAME LIKE C%SELECT * FROM STUDENT_ADMIN.STUDENTWHERE LNAME LIKE ABC% 通配符集合用于指定不在給定范圍內(nèi)的字符。例如,如果接受除 a 到 f 以外的任何字符,則使用 LIKE a - f 或 LIKE abcdef。 有關(guān) LIKE 關(guān)鍵字的詳細信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論